Count Vowels & Consonants Recursively

Count vowels and consonants recursively.

Logic BuildingAdvanced
Logic Building
def count_vc(s, index=0, vowels=0, consonants=0):
    # Base case
    if index >= len(s):
        return vowels, consonants
    
    # Check current character
    char = s[index].lower()
    if char.isalpha():
        if char in 'aeiou':
            vowels += 1
        else:
            consonants += 1
    
    # Recurse
    return count_vc(s, index + 1, vowels, consonants)

# Test
text = input("Enter a string: ")
v, c = count_vc(text)
print(f"Vowels: {v}, Consonants: {c}")

Output

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

Track vowels and consonants with parameters.

Key Concepts:

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