хотите получить несколько полых ромбов с диагональной длиной, строками и столбцами, указанными пользователем - PullRequest
0 голосов
/ 20 июня 2020

прилагаемое изображение - это мой желаемый результат из следующего фрагмента кода, необходимого для этого ... или, если вы можете поделиться частью своего кода для достижения результатов, исполняемый полый ромбовидный узор, но только один * ромб

c=int(input('Enter Column :'))
r=int(input('Enter Row :'))
n=int(input('Enter Odd Diagonal length :'))-1

j=n-1
print(' '*(n)+'*')
for i in range(1, 2*n):
    if i>n:
        print(' '*(i-n)+'*'+' '*(2*j-1)+'*')
        j-=1
    else:
        print(' '*(n-i)+'*'+' '*(2*i-1)+'*')
if n>1:
    print(' '*n+'*')

1 Ответ

1 голос
/ 20 июня 2020

Вы очень близки ... В любом случае, я исправил некоторые проблемы и добавил несколько строк в ваш код, и все работает отлично:

c=int(input('Enter Column :'))
r=int(input('Enter Row :'))
n=int(input('Enter Odd Diagonal length :'))


for i in range(r):
    j=n-1
    print((' '*(n)+'*'+' '*(n+1))*c)
    for i in range(1, 2*n):
        if i>n:
            print((' '*(i-n)+'*'+' '*(2*j-1)+'*'+' '*(i-n+1))*c)
            j-=1
        else:
            print((' '*(n-i)+'*'+' '*(2*i-1)+'*'+' '*(n-i+1))*c)
    if n>=1:
        print((' '*n+'*'+' '*(n+1))*c)

Теперь давайте попробуем:

>>> Enter Column : 4
>>> Enter Row : 2
>>> Enter Odd Diagonal length : 2
  *     *     *     *   
 * *   * *   * *   * *  
*   * *   * *   * *   * 
 * *   * *   * *   * *  
  *     *     *     *   
  *     *     *     *   
 * *   * *   * *   * *  
*   * *   * *   * *   * 
 * *   * *   * *   * *  
  *     *     *     *   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...