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

如何修复Python while循环未按预期终止问题?(GitHub Codespace运行)

问题分析与解决

你的代码无法终止的核心原因是类型不匹配:
你将random.randint(1,2)生成的整数转换为字符串存入Number变量,但判断条件if Number == 2是拿字符串和整数2做比较,二者永远不会相等,导致break语句永远不会触发,循环无法终止。

两种修复方案:

  • 方案一:移除字符串转换,让Number保持整数类型
import time
import random
Get = 0
Trys = 0

while Get == 0: 
    time.sleep(0)
    Trys = Trys + 1
    Number = random.randint(1, 2)
    print(Number, Trys)
    if Number == 2:
        break
print("finished")
  • 方案二:将判断条件中的2改为字符串"2",保持类型一致
import time
import random
Get = 0
Trys = 0

while Get == 0: 
    time.sleep(0)
    Trys = Trys + 1
    Number = str(random.randint(1, 2))
    print(Number, Trys)
    if Number == "2":
        break
print("finished")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:32:39