Добрый день! Не получается решить задачу. Неделя как я начал изучать Питон и зашел в тупик
Необходимо решить 2ую часть задачи: 1ая часть:
"По данному натуральному n<=9 выведите лесенку из n-ступенек, i-я ступенька состоит из чисел от 1 до i без пробела";
2ая часть:
"теперь нужно дополнить 1ую часть, чтобы получалась пирамида и каждая ступень состояла из чисел от 1 до i и обратно"
1ую часть решил вот так:
n = int(input())
x = ""
for i in range(1, n + 1):
x = x + str(i)
print(x)
На выходе при вводе 3, 1ая часть задачи выполняется корректно:
1
12
123
Теперь требуется, чтобы при вводе 3, исходя из 2ой части задачи, получилось:
1
121
12321
Не могу понять логику, учитывая, что по курсу пока изучены только операторы и циклы, ф-ции print, range, str.
Огромная просьба помочь в написании кода, т.к. уже 3й день не могу решить Спасибо заранее!
Ответы (2 шт):
Можно даже сам код особо не менять, только print изменить:
n = int(input())
x = ""
for i in range(1, n + 1):
x = x + str(i)
print(' ' * (n-i) + x + x[-2::-1]) # <- Изменил эту строку
Накидал пример:
n = 9
for i in range(1, n + 1):
left = ''.join(map(str, range(1, i)))
spaces = ' ' * (n - i)
print(f'{spaces}{left}{i}{left[::-1]}')
# 1
# 121
# 12321
# 1234321
# 123454321
# 12345654321
# 1234567654321
# 123456787654321
# 12345678987654321