Сделал 18 задание

This commit is contained in:
parent cd8959a512
commit 8dd33d4e76

65
lesson.18.py Normal file
View file

@ -0,0 +1,65 @@
''' ****** Задание 18 из 20 Параграф 2.4 *********
* Праздники приближаются, и коллеги великого математика снова хотят его порадовать.
На этот раз — с помощью ещё более красивых математических ёлок!
Вас снова зовут в качестве главного креативного программиста.
Нужно сделать так, чтобы каждая строка ёлки была аккуратно выровнена по центру — строго, симметрично, празднично.
Формат ввода
Вводится одно натуральное число — количество чисел в математической ёлке.
Формат вывода
Требуемая новогодня ёлка.
Примечание
Гарантируется, что последняя строка будет самой длинной.
Не забывайте про существование f-строк.
Пример 1
Ввод
14
Вывод
1
2 3
4 5 6
7 8 9 10
11 12 13 14
'''
if __name__ == "__main__":
max_number = int(input())
row = 1
col = 1
number = 1
width = 0
while number <= max_number:
row_value = ''
while col <= row and number <= max_number:
row_value += str(number) + (' ' if col < row and number < max_number else '')
col += 1
number += 1
if len(row_value) > width:
width = len(row_value)
row += 1
col = 1
row = 1
col = 1
number = 1
while number <= max_number:
row_value = ''
while col <= row and number <= max_number:
row_value += str(number) + (' ' if col < row and number < max_number else '')
col += 1
number += 1
print(f'{row_value:^{width}}')
row += 1
col = 1