Python统计元音数量代码无法正确输出计数结果,新手求排查错误
代码存在的错误
- 函数参数不匹配:
count_vowels_iter定义时设置了2个入参string和sentence,但实际调用时只传入了1个参数,且多余的string参数在函数内没有被使用,可以直接删除。 - 赋值符号误用:统计计数时用了相等判断符
==,不会修改count的实际值,需要改为赋值符=。 return缩进错误:return count当前写在for循环内部,会导致遍历到第一个元音就直接终止函数返回结果,不会统计整个字符串的元音总数,需要调整到for循环同级位置,等遍历完成后再返回。- (可选优化)当前
is_vowel只支持判断小写元音,遇到大写元音会漏统计,可以统一转小写后再判断。
修正后可运行代码
def is_vowel(character): # 统一转小写兼容大写元音 character = character.lower() if character == 'a'or character == 'o' or character == 'u' or character == 'i' or character == 'e': return True else: return False def count_vowels_iter(sentence): count = 0 for character in sentence: if is_vowel(character) == True: count = count + 1 return count count = count_vowels_iter('sentence') print(count)
运行后会输出3,对应字符串sentence中包含的3个元音字母。
内容的提问来源于stack exchange,提问作者supercar lover
相关产品推荐
相关产品推荐

