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

统计单词Mississippi中字母s的出现次数,Python代码为何无法得到正确结果?

代码问题分析及修复方案

你的代码存在多个关键问题,导致无法实现统计字母出现次数的需求:

  • 核心逻辑偏离:当前函数找到第一个匹配字母就立刻返回索引,执行return index时函数直接终止,完全没做「统计次数」的操作,自然拿不到预期的4。
  • 循环无法推进:while循环里没有对index做有效自增(index=index等于没写,还在return之后,根本执行不到),就算没提前return,也会卡在index=0陷入死循环。
  • 变量作用域错误:函数外的print(index)会直接报错,因为函数内部的index是局部变量,外部未定义。
  • 冗余无效代码:return index之后的所有代码都不会执行,index=index这行完全多余。

修复后的手动统计代码

def count_letter(word, letter):
    count = 0
    index = 0
    while index < len(word):
        if word[index] == letter:
            count += 1
        index += 1  # 每次循环推进索引,避免死循环
    return count

# 调用并打印结果
print(count_letter("Mississippi", "s"))  # 输出:4

更简洁的Python内置方法实现

Python字符串自带count()方法,可直接统计字符出现次数,无需手动写循环:

print("Mississippi".count("s"))  # 直接输出:4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 19:55:02