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

Python统计连续重复字符时报String index out of range错误如何解决?

问题分析与修复方案

现有代码的三个核心问题

  • 索引越界:循环遍历范围使用range(len(word)),当j取到最大值len(word)-1时,访问j+1的位置等价于访问下标为len(word)的字符,超出了字符串的有效索引范围(字符串下标从0到len(word)-1),因此触发IndexError。
  • 判断条件逻辑错误:原代码判断word[j] == word[j:j+1]永远成立,word[j]是单个字符,word[j:j+1]是从下标j开始取1个字符的切片,二者值完全相同,无法实现连续重复字符的判断,正确逻辑应该是判断word[j] == word[j+1]。
  • 变量未初始化:chars_count变量在使用前没有赋值初始值0,运行时会触发未定义变量的报错。

修正后代码

def double_chars(word):
    chars_count = 0
    # 遍历到倒数第二个字符即可,避免越界
    for j in range(len(word) - 1):
        if word[j] == word[j+1]:
            chars_count += 1
    return chars_count

test_word = "Hello..world!"
print(double_chars(test_word)) # 输出结果为2,匹配预期:ll、..各算1次

验证

输入测试用例bell--rung时,函数返回结果为2,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:36:04