Рекурсия — это способ решения задачи, при котором функция вызывает саму себя для решения более простого варианта той же задачи. Она широко используется в программировании для решения задач, которые могут быть разбиты на более простые подзадачи одного типа. Основная идея рекурсии — это наличие базового случая, когда дальнейшие вызовы функции прекращаются.
1. Факториал числа: Факториал числа nn (n!n!) — это произведение всех целых чисел от 1 до nn. Его можно вычислить с помощью рекурсии.
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # Output: 120
2. Числа Фибоначчи: Последовательность Фибоначчи — это ряд чисел, где каждое число является суммой двух предыдущих.
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(6)) # Output: 8
3. Обход директории: Если нужно пройти по всем файлам и папкам в директории и вложенных директориях, рекурсия может помочь.
import os
def list_files(directory):
for item in os.listdir(directory):
path = os.path.join(directory, item)
if os.path.isdir(path):
list_files(path)
else:
print(path)
list_files('/path/to/directory')
Автор: Евгений Морковин
0 комментариев