Python数字高低猜测游戏如何重新提示输入及修复无限循环问题
修复后的完整代码
import random # 高低值输入+校验重试逻辑 while True: high_number = int(input('请输入上限数字:\n')) low_number = int(input('请输入下限数字:\n')) if low_number >= high_number: print('下限数字必须小于上限数字,请重新输入!') else: break random_number = random.randint(low_number, high_number) # 猜数字循环逻辑 while True: user_guess = int(input(f'请猜一个介于{low_number}和{high_number}之间的数字:\n')) if user_guess > random_number: print('猜的数字太大了,再试一次!') elif user_guess < random_number: print('猜的数字太小了,再试一次!') else: print('恭喜你猜对了!') break
问题根因说明
你遇到的两个问题对应两处代码疏漏:
- 无法重新提示用户输入:原始代码仅做了一次高低值合法性校验,不通过时直接跳过核心逻辑,没有添加重试循环
- 无限循环:原始代码的
while判断逻辑中,仅对第一次输入的user_guess做判定,没有在循环内重新获取用户的新输入,变量值永远不会匹配随机数,导致循环永远无法退出
内容的提问来源于stack exchange,提问作者Graf
相关产品推荐
相关产品推荐

