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

请求排查Python代码报错问题:list index out of range

Python猜字母代码"list index out of range"错误修复

错误原因

你手动写死了判断条件user == letters[0] or ... or user == letters[7],但随机选择的单词长度不一致:

  • "LONDON"长度为6,索引范围是0-5,访问letters[6]或letters[7]就会触发索引越界错误
  • "RESPECT"长度为7,索引0-6,访问letters[7]也会报错
  • 只有"ABSOLUTE"长度为8,能覆盖到索引7

另外你的count变量统计逻辑多余,直接用len(word)就能得到单词长度,因为所选单词里没有空格。

修正后的代码

import random

user = input("Guess letter: ")
word = random.choice(["LONDON", "RESPECT", "ABSOLUTE"])
letters = list(word)

# 直接用in判断字母是否在单词里,简洁又不会越界
if user.upper() in letters:
    print("well done")
else:
    print("nope")

print(letters)
print(" _ " * len(word))

优化说明

  • 用user.upper()统一转成大写,避免用户输入小写字母匹配失败的问题
  • 用in关键字直接判断字母是否在列表中,无需手动逐个索引判断,彻底解决索引越界问题
  • 去掉多余的count变量,直接用len(word)获取单词长度,简化代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:30:25