如何修复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
相关产品推荐
相关产品推荐

