Python猜数字游戏仅允许单次输入即退出的问题修复求助
猜数字游戏代码修复方案
原代码故障原因
- 循环条件逻辑错误:原代码
while guess == number仅在首次猜测就命中正确值时才会进入循环,其余情况直接跳过循环,不会触发重复执行逻辑 - 输入、结果提示逻辑全部放在循环外部,只会执行一次,自然无法支持多次猜数操作
- 存在冗余导入:已单独导入
randint方法,无需再导入整个random库
修复后可运行代码
from random import randint # 生成1-500的随机目标数 number = randint(1, 500) print("The computer has chosen a random number between 1 and 500, start guessing:") while True: # 猜数输入逻辑移入循环,每次猜数都触发输入 guess_input = input("Your guess: ") # 新增异常校验,避免非整数输入导致程序崩溃 try: guess = int(guess_input) except ValueError: print("Please enter a valid integer between 1 and 500") continue # 猜数结果判断 if guess == number: print("Congrats, you have won!") break elif guess > number: print("Lower") else: print("Higher")
关键修改说明
- 使用
while True构建死循环,保证猜数逻辑可以反复执行 - 将输入、结果判断逻辑全部移入循环内,每次猜错都会自动进入下一轮猜数
- 猜对时执行
break终止循环,结束程序 - 可选新增异常校验逻辑,提升程序健壮性
内容的提问来源于stack exchange,提问作者jacknmorris
相关产品推荐
相关产品推荐

