Рекурсивные функции. Часть 1
Часть раздела Logic & Flow путешествия по Python на Coddy — урок 60 из 78.
Рекурсивная функция — это функция, которая вызывает саму себя для решения более мелких экземпляров задачи. Каждый рекурсивный вызов должен приближать функцию к базовому случаю, который останавливает рекурсию.
Пример: Суммирование чисел от 1 до n:
def sum_to_n(n):
if n == 0: # Базовый случай
return 0
return n + sum_to_n(n - 1) # Рекурсивный шаг
print(sum_to_n(5)) # Вывод: 15Задание
ЛегкоНапишите рекурсивную функцию с именем count_down, которая принимает положительное целое число n в качестве аргумента и выводит каждое число от n до 0.
Шпаргалка
Рекурсивная функция вызывает саму себя для решения более мелких подзадач. Каждый рекурсивный вызов должен приближать функцию к базовому случаю, который останавливает рекурсию.
Базовая структура:
def recursive_function(parameter):
if base_case_condition: # Базовый случай
return base_value
return recursive_step # Рекурсивный шагПример — суммирование чисел от 1 до n:
def sum_to_n(n):
if n == 0: # Базовый случай
return 0
return n + sum_to_n(n - 1) # Рекурсивный шаг
print(sum_to_n(5)) # Output: 15Попробуйте сами
def count_down(n):
# Напишите здесь кодВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary Sorter