Python猜数字代码故障排查:输入首猜数后程序终止
问题排查与修复:猜数字程序输入一次后停止运行
你的代码核心问题是未初始化game_over变量:
- 代码直接使用
while not game_over作为循环条件,但game_over在这之前从未被定义过,第一次执行循环时会触发NameError,导致程序直接终止。
修复后的完整代码
import random winning_number = random.randint(1,100) guess = 1 # 初始化game_over变量为False,让循环可以正常启动 game_over = False number = int(input("guess a number between 1 and 100: ")) while not game_over: if number == winning_number: print(f"you win, and you guessed this number in {guess} times ") game_over = True else: if number < winning_number: print("too low") guess += 1 number = int(input("guess again: ")) else: print("too high") guess += 1 number = int(input("guess again: "))
额外优化建议(可选)
你可以把输入逻辑整合到循环内部,减少重复代码,让结构更简洁:
import random winning_number = random.randint(1,100) guess = 0 game_over = False while not game_over: guess += 1 number = int(input("guess a number between 1 and 100: ")) if number == winning_number: print(f"you win, and you guessed this number in {guess} times ") game_over = True elif number < winning_number: print("too low") else: print("too high")
内容的提问来源于stack exchange,提问作者Deepak Kumar
相关产品推荐
相关产品推荐

