Сделал 18 задание
This commit is contained in:
parent
cd8959a512
commit
8dd33d4e76
65
lesson.18.py
Normal file
65
lesson.18.py
Normal 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
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in a new issue