Python猜数字代码循环仅执行一次就终止的问题求助
问题排查与修复
循环仅执行一次的原因
你的代码里while True循环的最后直接放了break语句——不管用户猜的数对不对,第一次循环跑完就会执行break跳出循环,这就是循环只执行一次的根本原因。
另外还有个逻辑错误:当用户输入的数字大于正确数字时,你输出的是LOW,这明显搞反了,应该提示用户猜高了;同理,输入数字小于正确数字时,应该提示猜低了。
修正后的代码
import random correctNumber = random.randint(1, 50) a = int(input("Please enter your number: ")) while True: if a > correctNumber: print("TOO HIGH, try a smaller number") a = int(input("Please enter again : ")) elif a < correctNumber: print("TOO LOW, try a larger number") a = int(input("Please enter again : ")) else: print("YOU GOT IT RIGHT") break # 只有猜对时才跳出循环
关键修改点
- 将
break移至猜对数字的分支中,确保只有用户猜对时才终止循环 - 修正了提示文本的逻辑错误,让用户能得到正确的猜数方向
- 移除了未使用的
int1和int2变量
内容的提问来源于stack exchange,提问作者Yoshith Kotla
相关产品推荐
相关产品推荐

