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

Python代码偶发报错、无输出问题,求助排查错误原因

错误原因定位
  • 随机数取值范围逻辑错误:random.randint(a,b) 生成的结果包含a和b两个边界值,你设置的上限为number_of_members,但names列表的合法索引范围是0 到 number_of_members - 1,当随机数等于number_of_members时,如果命中你写的分支就会触发列表索引越界报错。
  • 分支判断覆盖不全:你只写了随机数为0到4的输出逻辑,一旦随机数大于等于5,所有分支都不匹配,就会出现无报错也无输出的情况。
  • 分隔符和输入格式不匹配:你输入的名字格式是名字 空格 逗号 空格(比如jay , mack),代码用, 拆分后得到的名字会附带多余的尾空格,不符合预期。
修复后代码
names_string = input("Give me everybody's names, separated by a comma.\n")
# 拆分后逐个清除名字前后多余空格,兼容输入时的空格格式问题
names = [name.strip() for name in names_string.split(",")]
number_of_members = len(names)
import random
# 随机数上限调整为number_of_members - 1,避免越界
randominteger = random.randint(0, number_of_members - 1)
# 直接用随机索引取值,不需要写多分支判断
print(f"{names[randominteger]} is going to buy the meal today!")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:18:02