@dmitrylogvinov

Разворот последовательности в обратном порядке (рекурсия)?

Задача:

Дана последовательность, заканчивающаяся 0. Вывести ее в обратном порядке.
При решении этой задачи нельзя пользоваться массивами и прочими динамическими структурами данных.

Проверка требует вывести последовательность 2 3 7 8 0 в формате 0 8 7 3 2, а не 8 7 3 2. Другими словами, не знаю как вывести 0 в рекурсии

def rec():
    n = int(input())
    if n != 0:
        rec()
        print(n)
rec()
  • Вопрос задан
  • 10452 просмотра
Решения вопроса 2
Sly_tom_cat
@Sly_tom_cat
.
Если хотите и 0 печатать, то вынесите print за рамки if.

def rec():
    n = int(input())
    if n != 0:
        rec()
    print(n)
rec()
Ответ написан
Комментировать
adugin
@adugin Куратор тега Python
Последовательность - это фактически массив. Или в виде чего она дана?
sequence = [2, 3, 7, 8, 0]

# reversed возвращает итератор (не массив)
for item in reversed(sequence):
    print(item)

# слайс возвращает новый список (массив)
for item in sequence[::-1]:
    print(item)

P.S. Не рекурсия, а реверсия. Рекурсия - это совершенно другое.
P.P.S. Почему Вы упорно не хотите прочитать учебник/документацию по Python?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы