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

Python解密隐藏信息代码运行出现IndexError索引越界错误如何解决

错误成因
  • 文件读取逻辑错误:你调用file.read()将整个文件内容读取为单个长字符串,后续for line in file实际遍历的是字符串里的每个单个字符,而不是你预期的文本行。当遍历到换行、空格等空白字符时,执行strip()后会得到空字符串,此时访问line[0]就会触发索引越界。
  • 缺少空行校验:就算你正确读取了每行内容,原文本也可能存在全为空白字符的空行,strip()后同样会得到空字符串,直接取下标0也会报错。
修复后可运行代码
letter = input('Letter: ').lower()
hidden_message = []

with open('puzzle.txt', 'r') as file:
    # 直接迭代文件对象即可逐行读取
    for line in file:
        processed_line = line.strip().lower()
        # 先判断非空再访问下标
        if processed_line and processed_line[0] == letter:
            hidden_message.append(processed_line[-1])

print(''.join(hidden_message))
修复说明
  • 移除了file.read()调用,直接迭代文件对象实现逐行读取,符合业务逻辑
  • 新增非空判断,仅处理strip()后不为空的行,从根源避免空字符串索引报错
  • 将用户输入的指定字母统一转小写,和行内容的大小写处理逻辑对齐,避免大小写不一致导致匹配失败

内容的提问来源于stack exchange,提问作者Hides - In - Barrels

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:57:05