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

Python随机颜色生成器脚本出现无限循环无法停止问题求助

故障根因

你的代码触发无限循环的核心问题是类型不匹配:
input() 函数返回值默认是字符串类型,你仅验证了变量a的内容是数字格式,但没有将其转换为整数类型。循环中你用整数类型的计数器g和字符串类型的a做相等判断,这个条件永远为False,break逻辑永远不会触发,所以会无限输出颜色。

修复步骤
  • 在isdigit()校验通过后,添加类型转换逻辑,把a转成整数
  • 可选优化:颜色列表可以放到循环外部定义,避免每次循环重复创建变量浪费性能,循环末尾冗余的else: continue也可以直接删除,不影响逻辑运行
修正后完整代码
import random

g = 0
a = input("How many random colors would you like? ")
if not a.isdigit():
    print("Please enter a number next time")
    quit()
# 新增类型转换逻辑
a = int(a)
# 颜色元组移到循环外定义
lister = "Purple", "Green", "Blue", "Red", "Orange", "Lime", "Yellow", "White", "Black", "Maroon", "Aqua", "Pink", "Teal", "Grey", "Gold", "Silver", "Bronze", "Fuchsia", "Magenta", "Violet", "Beige", "Indigo"
while True:
    z = random.choice(lister)
    print("Your color is: " + str(z))
    g += 1
    if g == a:
        break

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:21:02