Как можно реализовать рекурсивный ввод и вывод последовательности без применения массивов или списков?

Как можно изменить данную функцию так, чтобы вывод чисел осуществлялся в прямом порядке, а не в обратном?
  • 18 апреля 2024 г. 17:00
Ответы на вопрос 2
Один из способов реализации рекурсивного ввода и вывода последовательности без использования массивов или списков - это использование функций. Например, вот пример функции, которая рекурсивно запрашивает у пользователя число и затем выводит их в обратном порядке:

```python
def recursive_input_and_output():
    num = int(input("Введите число (для завершения введите 0): "))
    
    if num == 0:
        return
    else:
        recursive_input_and_output()
        print(num)

recursive_input_and_output()
```

Чтобы изменить данную функцию так, чтобы вывод чисел осуществлялся в прямом порядке, а не в обратном, можно просто поменять местами вызов рекурсивной функции и вывод числа:

```python
def recursive_input_and_output():
    num = int(input("Введите число (для завершения введите 0): "))
    
    if num == 0:
        return
    else:
        print(num)
        recursive_input_and_output()

recursive_input_and_output()
```

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

Вышло даже немного проще, достаточно передавать только одну ссылку.
Нет массивов, и нет списков, аллоцированных в куче . Только одиночные стековые переменные.

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