@Denys1203

Объясните/заккоментируйте как работает эта програмка?

Программка с использованием цикла while и т.д.
В принципе результат на выводе, при вводе числа 5 должен быть таким:
5
4 5
3 4 5
2 3 4 5
1 2 3 4 5
Я нашёл для себя пример:
N = int(input())

x = list(map(str, (range(1, N+1))))

z = []

z = x.copy()

z = list(reversed(z))

while len(z) > 1:

   sp = N - len(z)

   print(((" " * sp) * 2) + " ".join(z))

   z.pop(len(z)-1)

arr = []

for num in range(N, 0, -1):

   sp = " " * ((N * 2) - 2)

   arr.insert(0, f"{num}")

   print(sp + " ".join(arr))


Рисунок нужный показал выше, если я удалю первый принт, то получится то что нужно, но это же не правильно? Объясните пожалуйста :)
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
такую программу можно написать в 5 раз короче
и именно такое решение от вас и ожидается - примитивное, показывающее что вы понимаете самые базовые элементы языка - циклы, работу с переменными, строками.
Никакие списки тут не нужны.
От вас требуется продумать в голове алогоритм, и потом реализовать его на Питоне.

Главное здесь - алгоритм
Попробуйте для начала изложить его просто словами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы