Секція 5. Розділ 2
single
Challenge: Форматування Номера Телефону
Свайпніть щоб показати меню
Згадайте, що рекурсивна функція розв'язує задачу, викликаючи саму себе з простішим вхідним значенням, доки не досягне базового випадку, який зупиняє рекурсію:
1234def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
Зверніть увагу, що кожен рекурсивний виклик працює з меншою версією вхідних даних — у цьому випадку зі списком без першого елемента. Такий самий підхід застосовується при обробці рядків символ за символом.
Завдання
Проведіть, щоб почати кодувати
Дано рядок, що представляє номер телефону, який може містити пробіли, дефіси, дужки або інші нецифрові символи. Мета — виділити лише цифри за допомогою рекурсії.
- Якщо вхідний рядок
numberпорожній, повернути порожній рядок; - Перевірити, чи перший символ рядка
numberє цифрою за допомогою методуisdigit(); - Якщо це цифра, конкатенувати її з результатом рекурсивного виклику, передаючи підрядок, починаючи з другого символу;
- Якщо це не цифра, виконати рекурсивний виклик, пропускаючи перший символ.
Рішення
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 5. Розділ 2
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат