求助:计算机课猜数字游戏条件循环实现问题(目标数为7)
解决猜数字游戏的循环问题
嘿,我来帮你搞定这个猜数字游戏的问题!你的思路没问题——用while循环加条件判断来实现重复猜数逻辑,但有两个关键小疏漏导致代码没法正常跑起来:
问题分析
guess变量没有在循环内更新:你把输入语句写在了循环外面,所以不管循环跑多少次,guess永远是最开始输入的那个值,不会随着用户的新猜测改变。- 缺少循环退出条件:你的
var变量一直是1,循环条件var==1永远成立,就算猜对了数字,程序也会无限循环下去。
修正后的代码
我给你两种可行的修正方案,你可以选自己觉得顺手的:
方案1:用break直接终止循环(更简洁)
while True: # 把输入放到循环内部,每次循环都能获取用户的新猜测 guess = int(input("Guess a number!")) if guess != 7: print("Try again") else: print("Well done") break # 猜对后直接退出循环
方案2:保留var变量控制循环
var = 1 while var == 1: guess = int(input("Guess a number!")) # 移到循环内更新猜测值 if guess != 7: print("Try again") else: print("Well done") var = 0 # 修改var的值让循环条件不成立,从而退出循环
核心修改点说明
- 将
guess = int(input(...))移到循环内部:确保每次循环都能获取用户的新输入,而不是一直复用第一次的猜测值。 - 添加循环终止逻辑:要么用
break直接跳出循环,要么修改控制变量var的值,让while的条件不再成立,这样猜对数字后程序就能正常结束啦。
这样调整后,你的猜数字游戏就能完美运行——用户可以反复猜数直到命中目标数字7,猜对后会收到提示并终止程序。
内容的提问来源于stack exchange,提问作者G.Bhalla
相关产品推荐
相关产品推荐

