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

为何统计单词中字母出现次数时,count值始终等于单词长度?

问题分析与修复方案

你的代码存在两个核心错误,导致统计结果始终等于单词长度:

  • 变量名冲突:循环中使用的letter变量覆盖了之前输入的目标字母变量,循环内的letter实际是单词的每一个字符,完全丢失了原本要统计的目标字母。
  • 判断逻辑错误:if letter == word[count]的逻辑是在判断当前循环字符与单词第count位字符是否相等,而count初始为0,每次循环都会因为当前字符和对应位置字符相等而自增,最终必然等于单词长度。

修正后的代码

先修改变量名避免冲突,再调整判断逻辑:

word = input('Enter a word\n')
target_letter = input('Enter a letter\n')
count = 0
for char in word:
    if char == target_letter:
        count += 1
print(count)

更简洁的写法

Python字符串自带count()方法,可以直接实现统计需求:

word = input('Enter a word\n')
target_letter = input('Enter a letter\n')
print(word.count(target_letter))

测试你提供的示例(word=try,target_letter=y),两种写法都会输出预期结果1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:15:35