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 + + +