1.采用字典的形式,判断输入的字符串是否有与元音相同的字符,有则输出,并显示频率;
num = ['a','i','u','e','o']
# 定义5个元音
word = input('input something:')
# 获取控制台输入的字符
found = {}
# 初始化字典found
for letters in word:
# 循环赋值给迭代变量letters进行下一步的判断
if letters in num:
# 如果letters在num内
found.setdefault(letters,0)
# 对字典found进行初始化,如果输入的内容不在num内,就赋值为0;否则就会报KeyError,原因是对不存在的键进行了操作;
found[letters] += 1
# 如果字典found在num内,就进行数据值加1
for k,v in sorted(found.items()):
# 利用items函数,返回found字典的键/值,并循环赋值给迭代变量k/v(key/value)
print(k,'was found',v,'times()')
# 最后输出了所有入力进的字符属于元音的 和 输入的频率
2.采用集合的形式,判断输入的字符串是否有与元音相同的字符,有则输出
setone = set{'a','i','u','e','o'}
# 定义5个元音
word = input('input something:')
# 获取控制台输入的字符
settwo = set(word)
# 将控制台内的内容转换为集合,当然这一步也可以直接省略,直接取set(word)
setone.intersection(settwo)
3.扩展还有用集合取差集、取合集分别是
setone = set{'a','i','u','e','o'}
# 定义5个元音
word = input('input something:')
# 获取控制台输入的字符
settwo = set(word)
# 将控制台内的内容转换为集合,当然这一步也可以直接省略,直接取set(word)
setone.difference(settwo)
#取差集,取不同的对象
setone.union(settwo)
#取合集