Вводится целое число N (1≤N≤9), а выводятся строки с числами, которые образуют определенный «рисунок»
Вводится целое число N (1≤N≤9), а выводятся строки с числами, которые образуют определенный «рисунок» Нашел код в интернете и немного адаптировал под свой вариант, только нужно что то решить с дельтой, она очень разная должна быть для разных N для идеальной формы рисунка, и при этом для Н=5 это 8, а для н=9 это 16. 5/8!=9/16. Но и может код можно чуть проще или логичнее сделать, потому что делал методом тыка и появлялось только локальное понимание ситуации
`
n=9
i = 1
delta = 16
while i <= n:
j = 1
print(delta*" ",end="")
while j <= i:
print((j-1-i)*-1, end=" ")
j += 1
print()
i += 1
delta = -2
i = n
while i >= 0:
j = 1
delta += 2
print(delta*" ",end="")
while j <= i:
print(j, end=" ")
j += 1
print()
i -= 1
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
ОК, вижу, исправились, теперь с кодом.
delta должно определяться из n - это просто
delta = 2 * (n - 1)
Числа в первом цикле проще записать так:
print(i+1-j, end=" ")
Поскольку пределы циклов известны, for лучше подходит, чем while
n=5
delta = 2 * n - 2
for i in range(1,n+1):
print(delta*" ",end="")
for j in range(1,i+1):
print(i-j+1, end=" ")
print()
for i in range(n):
print(i*2*" ",end="")
for j in range(n-i):
print(j+1, end=" ")
print()
