Count Vowels Recursively

Count vowels in a string recursively.

AdvancedPhase 3 - Level 4: String-based RecursionExample 3 of 10
count-vowels-recursively.py
1def count_vowels(s, index=0):
2 # Base case
3 if index >= len(s):
4 return 0
5
6 # Check current character
7 vowels = "aeiouAEIOU"
8 count = 0
9 if s[index] in vowels:
10 count = 1
11
12 # Recurse
13 return count + count_vowels(s, index + 1)
14
15# Test
16text = input("Enter a string: ")
17result = count_vowels(text)
18print(f"Number of vowels: {result}")

Output

Enter a string: Hello
Number of vowels: 2

What's going on

Check current character, recurse on rest.

Key Concepts:

Base case: index >= len(s)
Check if current char is vowel
Add 1 if vowel, recurse with index+1