project_python.2.4/lesson.18.py

66 lines
2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 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