Найти - Пользователи
Полная версия: Рекурсия
Начало » Python для новичков » Рекурсия
1
JustYeahJust
Здравствуйте! Скажите, пожалуйста, как сделать так, чтобы последовательность выводилось в правильном порядке?
Задача:
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Выведите все нечетные числа из этой последовательности, сохраняя их порядок.

В этой задаче нельзя использовать глобальные переменные и передавать какие-либо параметры в рекурсивную функцию. Функция получает данные, считывая их с клавиатуры. Функция не возвращает значение, а сразу же выводит результат на экран. Основная программа должна состоять только из вызова этой функции.

Ввод Вывод
3 3
1 1
2
0

Мой код:
def write():
—-a = int(input())
—-if a == 0:
——–return
—-elif a % 2 == 1:
——–write()
——–print(a)
—-else:
——–write()

write()

Но он выводит нечётные числа с конца последовательности.
FishHook
 def write():
    a = int(input("Next item:"))
    if a == 0:
        return
    elif a % 2 == 1:
        print(a)
        write()
    else:
        write()
write()

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB