📅  最后修改于: 2023-12-03 15:10:47.669000             🧑  作者: Mango
本程序实现了查询给定字符串中子字符串中的元音计数的功能。用户可以输入任意字符串及其子字符串,程序将输出每个子字符串中元音的数量。
程序通过遍历所有的子字符串,对每个子字符串中的字符进行判断,如果该字符为元音字母,则计数加一。
def vowel_count(substring):
"""
计算一个字符串中元音字母的数量
:param substring: str, 待计数的字符串
:return: int, 该字符串中元音字母的数量
"""
vowels = ['a', 'e', 'i', 'o', 'u']
count = 0
for char in substring:
if char.lower() in vowels:
count += 1
return count
def search_vowels(string):
"""
查询给定字符串中子字符串中的元音计数
:param string: str, 待查询的字符串
:return: dict, 子字符串及其元音计数的字典
"""
vowels_dict = {}
for i in range(len(string)):
for j in range(i+1, len(string)+1):
substring = string[i:j]
vowels_dict[substring] = vowel_count(substring)
return vowels_dict
用户可以通过调用search_vowels
函数,传入待查询的字符串,即可得到该字符串中所有子字符串的元音计数。
例如,我们输入以下代码:
string = 'hello world'
vowels_dict = search_vowels(string)
print(vowels_dict)
得到的输出结果为:
{'h': 0, 'he': 1, 'hel': 1, 'hell': 1, 'hello': 2, 'e': 1, 'el': 1, 'ell': 1, 'ello': 2, 'l': 0, 'll': 0, 'llo': 1, 'l': 0, 'lo': 1, 'o': 1, 'world': 1, 'w': 0, 'wo': 1, 'wor': 1, 'worl': 1, 'o': 1, 'or': 1, 'orl': 1, 'r': 0, 'rl': 1, 'l': 0, 'd': 0}
其中,每个键值对的键为一个子字符串,值为该子字符串中元音的数量。
本程序目前只支持英文字母中的元音计数,如需支持其他字符集,请在vowels
列表中添加相应的字符即可。