Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Форматування Номера Телефону | Рекурсія та лямбда-функції
Підручник з функцій Python
Секція 5. Розділ 2
single

single

bookChallenge: Форматування Номера Телефону

Свайпніть щоб показати меню

Згадайте, що рекурсивна функція розв'язує задачу, викликаючи саму себе з простішим вхідним значенням, доки не досягне базового випадку, який зупиняє рекурсію:

1234
def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
copy

Зверніть увагу, що кожен рекурсивний виклик працює з меншою версією вхідних даних — у цьому випадку зі списком без першого елемента. Такий самий підхід застосовується при обробці рядків символ за символом.

Завдання

Проведіть, щоб почати кодувати

Дано рядок, що представляє номер телефону, який може містити пробіли, дефіси, дужки або інші нецифрові символи. Мета — виділити лише цифри за допомогою рекурсії.

  1. Якщо вхідний рядок number порожній, повернути порожній рядок;
  2. Перевірити, чи перший символ рядка number є цифрою за допомогою методу isdigit();
  3. Якщо це цифра, конкатенувати її з результатом рекурсивного виклику, передаючи підрядок, починаючи з другого символу;
  4. Якщо це не цифра, виконати рекурсивний виклик, пропускаючи перший символ.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

Секція 5. Розділ 2
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt