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
相关产品推荐
相关产品推荐

