mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-03-27 00:46:43 +00:00
43 lines
968 B
Python
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()
|