Count the number of vowels in Python
Understanding Vowel Counting
Vowel counting involves determining the number of vowels (a, e, i, o, u) in a given string.
We will explore three different methods to count the vowels in a string using Python.
Method 1: Using a Loop
This method iterates through the string and counts each vowel.
def count_vowels(string): count = 0 vowels = "aeiouAEIOU" for char in string: if char in vowels: count += 1 return count string = input("Enter a string: ") print("Number of vowels:", count_vowels(string))
Output: Number of vowels: 3
Method 2: Using Recursion
This method counts vowels recursively.
def count_vowels_recursive(string, index=0): if index == len(string): return 0 return (1 if string[index].lower() in "aeiou" else 0) + count_vowels_recursive(string, index + 1) string = input("Enter a string: ") print("Number of vowels:", count_vowels_recursive(string))
Output: Number of vowels: 3
Method 3: Using List Comprehension
This method uses list comprehension to count vowels efficiently.
def count_vowels_list_comprehension(string): return sum(1 for char in string.lower() if char in "aeiou") string = input("Enter a string: ") print("Number of vowels:", count_vowels_list_comprehension(string))
Output: Number of vowels: 4