You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python随机数求和程序while循环首次输入错误后异常,如何修复?

问题分析与修复方案

核心问题:重试输入未更新变量

你的代码里,当用户首次输入错误答案后,重试时执行的int(input("\nTry again: "))只是获取了新的输入,但没有将新输入的值赋值给user_answer变量。循环的判断条件user_answer != answer始终使用第一次输入的错误值,导致无论后续输入什么,循环都会重复第一次的判断结果,无法正确迭代。

次要优化点:冗余的条件判断

当前代码使用两个独立的if语句,逻辑上存在冗余——当user_answer不等于正确答案时,必然只满足其中一个条件,改用elif结构可以避免不必要的判断。

修复后的代码

import random

def add_random_numbers():
    num1 = random.randint(0, 100)
    num2 = random.randint(0, 100)
    
    print(num1, '+', num2)
    answer = num1 + num2
    
    user_answer = int(input("Enter Your Answer: "))
    
    while user_answer != answer:
        if user_answer > answer:
            print("Sorry, your guess is too high.")
            user_answer = int(input("\nTry again: "))  # 将新输入赋值给变量
        elif user_answer < answer:
            print("Sorry, your guess is too low.")
            user_answer = int(input("\nTry again: "))  # 将新输入赋值给变量
            
add_random_numbers()

内容的提问来源于stack exchange,提问作者user21137806

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:40:21