You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Python脚本中重复元音仅计数1次的问题?

修复字符串元音重复计数问题

原代码的问题在于逻辑错误:它是遍历元音列表,只要某个元音出现在单词中就加1,而非统计单词中每个元音字符的出现次数。这就导致同一个元音哪怕重复出现多次,也只会被计数1次。

修复方案1:基础循环版本

遍历输入单词的每一个字符,判断是否为元音,是则累加计数:

points = 0
word = input("Type a word. : ")
# 用集合存储元音,查询效率比列表更高
vowels = {"a", "e", "y", "u", "i", "o", "A", "E", "Y", "U", "I", "O"}
for char in word:
    if char in vowels:
        points += 1
print(f"Vowels in word: {points}")

修复方案2:简洁的生成器表达式版本

利用sum()函数结合生成器表达式,一行完成计数逻辑:

word = input("Type a word. : ")
vowels = {"a", "e", "y", "u", "i", "o", "A", "E", "Y", "U", "I", "O"}
vowel_count = sum(1 for char in word if char in vowels)
print(f"Vowels in word: {vowel_count}")

优化方案:统一大小写处理

将输入单词转为小写(或大写),可以简化元音集合的定义,避免重复存储大小写元音:

word = input("Type a word. : ").lower()
vowels = {"a", "e", "y", "u", "i", "o"}
vowel_count = sum(1 for char in word if char in vowels)
print(f"Vowels in word: {vowel_count}")

内容的提问来源于stack exchange,提问作者JonasHier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:15:42