Python/strings/count_vowels.py
2024-10-27 23:35:36 +01:00

43 lines
968 B
Python

def count_vowels(s: str) -> int:
"""
Count the number of vowels in a given string.
:param s: Input string to count vowels in.
:return: Number of vowels in the input string.
Examples:
>>> count_vowels(10)
Traceback (most recent call last):
...
ValueError: Input must be a string
>>> count_vowels(True)
Traceback (most recent call last):
...
ValueError: Input must be a string
>>> count_vowels("hello world")
3
>>> count_vowels("HELLO WORLD")
3
>>> count_vowels("123 hello world")
3
>>> count_vowels("")
0
>>> count_vowels("a quick brown fox")
5
>>> count_vowels("the quick BROWN fox")
5
>>> count_vowels("PYTHON")
1
"""
if not isinstance(s, str):
raise ValueError("Input must be a string")
vowels = "aeiouAEIOU"
return sum(1 for char in s if char in vowels)
if __name__ == "__main__":
from doctest import testmod
testmod()