From 8dd33d4e767388a2823a708d159fd5f862e37fbc Mon Sep 17 00:00:00 2001 From: Zver Date: Wed, 3 Dec 2025 11:38:42 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=2018=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson.18.py | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 lesson.18.py diff --git a/lesson.18.py b/lesson.18.py new file mode 100644 index 0000000..ec85b22 --- /dev/null +++ b/lesson.18.py @@ -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 + + +