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

Python入门问题:读取字符至句号并统计小写元音,计数始终为0求助

解决小写元音统计问题

你的代码问题在于:只要输入的不是句号就给count加1,完全没判断是不是小写元音,所以不管输入什么都会计数,自然得不到正确结果。

正确实现步骤

  1. 定义元音集合:在代码顶部定义小写元音的集合(用集合查找效率最高,列表也可以),只需要定义一次,不用放循环里。
  2. 循环内判断元音:每次读取字符后,先判断这个字符是否属于元音集合,是的话才给计数加1。

修改后的完整代码

# 定义所有小写元音字符,放在顶部即可
vowels = {'a', 'e', 'i', 'o', 'u'}
count = 0
# input本身返回字符串,不需要额外转str()
c = input('Character: ')

while c != '.':
    # 判断当前字符是否是小写元音,是则计数+1
    if c in vowels:
        count += 1
    # 读取下一个字符,继续循环
    c = input('Character: ')

print("Vowel count =", count)

关键说明

  • 元音集合放在顶部是最优写法,避免循环里重复定义造成资源浪费。
  • 必须在循环内加入if c in vowels的判断,只有符合条件的字符才计入统计。
  • input()函数本身返回的就是字符串类型,不需要额外用str()转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:54:32