Course Content
Python Functions Tutorial
Python Functions Tutorial
Recursion
Recursion in Python is when a function calls itself. It's a useful technique for solving complex problems by breaking them down into smaller parts. The key elements of recursion are the base case (the termination condition) and the recursive case (where the function calls itself).
def print_message(message, times): if times > 0: print(message) print_message(message, times - 1) # Function call print_message("Hello, Recursion!", 3)
Let's go step by step through how this recursive program works:
-
Condition Check: if
times > 0
, the function proceeds. In this case,times = 3
, so the condition is true; -
Print Message: the function prints
"Hello, Recursion!"
; -
Recursive Call: the function calls itself with
times - 1
; -
Repetition: this process continues until
times
equals 0; -
Termination: when the condition
times > 0
is no longer true, the recursion stops, and the program completes.
Result: The message "Hello, Recursion!"
is printed three times.
Swipe to start coding
Given a string representing a phone number, which may contain spaces, dashes, parentheses, or other non-numeric characters. The goal is to extract only the digits using recursion.
- If the input string
number
is empty, return an empty string. - Check if the first character of the string
number
is a digit using theisdigit()
method in anif
condition. - If it is a digit, concatenate it with the result of a recursive call to
format_phone_number
, passing the substring starting from the second character. - If it is not a digit, make a recursive call to
format_phone_number
, skipping the first character.
Solution
Thanks for your feedback!
Recursion
Recursion in Python is when a function calls itself. It's a useful technique for solving complex problems by breaking them down into smaller parts. The key elements of recursion are the base case (the termination condition) and the recursive case (where the function calls itself).
def print_message(message, times): if times > 0: print(message) print_message(message, times - 1) # Function call print_message("Hello, Recursion!", 3)
Let's go step by step through how this recursive program works:
-
Condition Check: if
times > 0
, the function proceeds. In this case,times = 3
, so the condition is true; -
Print Message: the function prints
"Hello, Recursion!"
; -
Recursive Call: the function calls itself with
times - 1
; -
Repetition: this process continues until
times
equals 0; -
Termination: when the condition
times > 0
is no longer true, the recursion stops, and the program completes.
Result: The message "Hello, Recursion!"
is printed three times.
Swipe to start coding
Given a string representing a phone number, which may contain spaces, dashes, parentheses, or other non-numeric characters. The goal is to extract only the digits using recursion.
- If the input string
number
is empty, return an empty string. - Check if the first character of the string
number
is a digit using theisdigit()
method in anif
condition. - If it is a digit, concatenate it with the result of a recursive call to
format_phone_number
, passing the substring starting from the second character. - If it is not a digit, make a recursive call to
format_phone_number
, skipping the first character.
Solution
Thanks for your feedback!