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

Описание задачи

Программа принимает на вход строку и выводит ее в обратном порядке с использованием рекурсии.

Решение задачи

  1. Принимается строка и записывается в отдельную переменную.
  2. Далее эта переменная передается в качестве аргумента в рекурсивную функцию.
  3. В качестве базового условия рекурсии принимаем равенство длины строки нулю. В этом случае возвращается нулевая строка и функция завершает свою работу.
  4. В противном случае опять рекурсивно вызываем эту же функцию, но без первого символа, и просто прибавляем к ней этот символ. Таким образом, в результате у нас накапливается эта же строка, но в обратном порядке.
  5. Выводим результат на экран.
  6. Конец.

Исходный код

Ниже дан исходный код, который осуществляет вывод строки в обратном порядке с использованием рекурсии. Результаты работы программы также даны ниже.

def reverse(string):
    if len(string) == 0:
        return string
    else:
        return reverse(string[1:]) + string[0]
a = str(input("Введите строку: "))
print(reverse(a))

Объяснение работы программы

  1. Пользователь вводит строку, которая записывается в переменную a.
  2. Далее эта переменная передается в качестве аргумента в рекурсивную функцию reverse() .
  3. В качестве базового условия рекурсии принимаем равенство 0 длины строки, для вычисления которой используем встроенную функцию len(). В этом случае возвращается нулевая строка и функция завершает свою работу.
  4. В противном случае опять рекурсивно вызываем эту же функцию, но без первого символа, используя для этого срез строки string[1:], и просто прибавляем к ней этот символ, обращаясь к нему по индексу string[0]. Таким образом, в результате у нас накапливается эта же строка, но в обратном порядке.
  5. Выводим результат на экран.

Результаты работы программы

Пример 1:
Введите строку: hello world
dlrow olleh
 
Пример 2:
Введите строку: first
tsrif