Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Рекурсія | Деякі поглиблені теми
Посібник з функцій Python
course content

Зміст курсу

Посібник з функцій Python

Посібник з функцій Python

1. Що Таке Функція в Python?
2. Специфікація Аргументів Функції
3. Довільні Аргументи
4. Повернення значень
5. Деякі поглиблені теми

book
Рекурсія

Рекурсія в Python – це коли функція викликає сама себе. Це корисна техніка для вирішення складних проблем шляхом їх розбиття на дрібніші частини. Основні елементи рекурсії – це базовий випадок (умова завершення) та рекурсивний випадок (коли функція викликає сама себе).

1234567
def print_message(message, times): if times > 0: print(message) print_message(message, times - 1) # Function call print_message("Hello, Recursion!", 3)
copy

Пройдемося крок за кроком, як працює ця рекурсивна програма:

  1. Перевірка базового випадку:

    • Функція перевіряє, чи times більше нуля. У нашому випадку, times дорівнює 3, що задовольняє умову;
  2. Вивід повідомлення:

    • Функція виводить повідомлення "Hello, Recursion!";
  3. Рекурсивний виклик:

    • Функція викликає саму себе з тим самим повідомленням та times - 1 (що в цьому випадку дорівнює 2);
  4. Новий виклик:

    • У новому виклику той самий процес повторюється: перевірка базового випадку, виведення повідомлення та інший рекурсивний виклик зі зменшенням times - 1 (тепер 1);
  5. Останній виклик:

    • Останній виклик відбувається для times = 1, виводиться останнє повідомлення, і відразу ж рекурсія завершується, оскільки зустрічається умова базового випадку;
  6. Завершення викликів:

    • Кожен рекурсивний виклик завершується, і керування передається назад до попереднього виклику;
  7. Завершення програми:

    • Програма повертається до первинного виклику, і виконання програми завершується.

Результатом буде тричі надруковане повідомлення "Hello, Recursion!".

Завдання
test

Swipe to show code editor

Ваше завдання - створити функцію, яка обчислює суму цифр додатнього числа використовуючи рекурсію:

  1. Базовий випадок: якщо число менше 10, функція має повернути це число як результат;
  2. Рекурсивний випадок: спочатку ми витягуємо останню цифру з числа за допомогою оператора остача при діленні (%) і потім додаємо цю цифру до суми решти цифр. Решту цифр можна знайти, використовуючи оператор цілочисельного ділення (//).
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 1
toggle bottom row

book
Рекурсія

Рекурсія в Python – це коли функція викликає сама себе. Це корисна техніка для вирішення складних проблем шляхом їх розбиття на дрібніші частини. Основні елементи рекурсії – це базовий випадок (умова завершення) та рекурсивний випадок (коли функція викликає сама себе).

1234567
def print_message(message, times): if times > 0: print(message) print_message(message, times - 1) # Function call print_message("Hello, Recursion!", 3)
copy

Пройдемося крок за кроком, як працює ця рекурсивна програма:

  1. Перевірка базового випадку:

    • Функція перевіряє, чи times більше нуля. У нашому випадку, times дорівнює 3, що задовольняє умову;
  2. Вивід повідомлення:

    • Функція виводить повідомлення "Hello, Recursion!";
  3. Рекурсивний виклик:

    • Функція викликає саму себе з тим самим повідомленням та times - 1 (що в цьому випадку дорівнює 2);
  4. Новий виклик:

    • У новому виклику той самий процес повторюється: перевірка базового випадку, виведення повідомлення та інший рекурсивний виклик зі зменшенням times - 1 (тепер 1);
  5. Останній виклик:

    • Останній виклик відбувається для times = 1, виводиться останнє повідомлення, і відразу ж рекурсія завершується, оскільки зустрічається умова базового випадку;
  6. Завершення викликів:

    • Кожен рекурсивний виклик завершується, і керування передається назад до попереднього виклику;
  7. Завершення програми:

    • Програма повертається до первинного виклику, і виконання програми завершується.

Результатом буде тричі надруковане повідомлення "Hello, Recursion!".

Завдання
test

Swipe to show code editor

Ваше завдання - створити функцію, яка обчислює суму цифр додатнього числа використовуючи рекурсію:

  1. Базовий випадок: якщо число менше 10, функція має повернути це число як результат;
  2. Рекурсивний випадок: спочатку ми витягуємо останню цифру з числа за допомогою оператора остача при діленні (%) і потім додаємо цю цифру до суми решти цифр. Решту цифр можна знайти, використовуючи оператор цілочисельного ділення (//).
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 1
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
We're sorry to hear that something went wrong. What happened?
some-alt