猜数字游戏while循环问题:如何添加猜对数字的提示语句?
猜数字游戏的问题修复
你的代码核心问题是猜对的判断逻辑位置错误:
while循环的条件是magic_number != guess,这意味着只有猜的数不对时才会进入循环。不管是第一次就猜对,还是在循环里调整后猜对,循环都不会执行内部的猜对分支,自然看不到提示。
给你两种简单的修复方案:
方案一:把猜对提示放在循环外
利用循环结束的条件(猜的数等于目标数),在循环结束后统一输出提示:
magic_number = 20 guess = int(input("Guess the magic number ")) while magic_number != guess: print("You're stuck") if guess > magic_number: guess = int(input("LOWER ")) elif guess < magic_number: guess = int(input("Higher ")) # 循环结束说明已经猜对,直接输出提示 print("Good job, you're free!")
方案二:改用无限循环+break(更推荐)
这种结构逻辑更清晰,每次输入后直接判断结果,猜对就打印提示并退出循环:
magic_number = 20 while True: guess = int(input("Guess the magic number ")) if guess > magic_number: print("LOWER") elif guess < magic_number: print("Higher") else: print("Good job, you're free!") break # 猜对后终止循环
另外提两个小细节:原代码里的Your stuck应该是You're stuck,int(20)没必要,直接写20就行。
内容的提问来源于stack exchange,提问作者F.Hasangjekaj
相关产品推荐
相关产品推荐

