猜数字游戏代码故障排查:输入一次后程序终止问题
猜数字游戏代码修复方案
你的代码存在两个关键问题导致程序异常终止:
- 未初始化
game_over变量:直接使用while not game_over时,该变量未定义,触发NameError导致程序终止。 - 变量名拼写错误:判断胜利的条件里写了
wining_number,正确的变量名是winning_number,这个错误会让程序永远无法识别正确的猜测。
以下是修复后的完整代码:
winning_number = 43 guess = 1 game_over = False # 初始化循环控制变量 num = int(input("enter a number between 1 and 100: ")) while not game_over: if winning_number == num: # 修正变量名拼写 print(f"you win, you guessed the number in {guess} times") game_over = True else: if num > winning_number: print("too high") else: print("too low") guess += 1 num = int(input("guess again: "))
额外优化:把重复的输入逻辑提取到判断之后,减少代码冗余,同时保证流程连贯。
内容的提问来源于stack exchange,提问作者Manan Jungwal
相关产品推荐
相关产品推荐

