Count Vowels & Consonants Recursively

Count vowels and consonants recursively.

AdvancedPhase 3 - Level 4: String-based RecursionExample 9 of 10
count-vowels-consonants-recursively.py
1def count_vc(s, index=0, vowels=0, consonants=0):
2 # Base case
3 if index >= len(s):
4 return vowels, consonants
5
6 # Check current character
7 char = s[index].lower()
8 if char.isalpha():
9 if char in 'aeiou':
10 vowels += 1
11 else:
12 consonants += 1
13
14 # Recurse
15 return count_vc(s, index + 1, vowels, consonants)
16
17# Test
18text = input("Enter a string: ")
19v, c = count_vc(text)
20print(f"Vowels: {v}, Consonants: {c}")

Output

Enter a string: Hello
Vowels: 2, Consonants: 3

What's going on

Track vowels and consonants with parameters.

Key Concepts:

Use accumulator parameters
Check if character is vowel or consonant
Update counts and recurse