简单IF-ELSE语句与算术ans不匹配

2024-05-01 21:45:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个数学测试,如果用户输入了正确的内容,我希望它打印正确

answer = (input) ("What is your answer?")
maths = eval(str(num1) + operation + str(num2))


if answer == maths:
    print ('Correct')

else:
    print('Wrong')

但是它不起作用。不管输入是否正确,它都不会正确打印,只会打印错误。 干杯阿龙


Tags: 用户answer内容inputyouriseval数学
1条回答
网友
1楼 · 发布于 2024-05-01 21:45:52

input()返回字符串值,而不是整数。不能比较整数和字符串并期望它们相等:

>>> '42' == 42
False

首先将输入转换为整数:

answer = input("What is your answer?")
answer = int(answer)

但是,如果输入不是数字,这可能导致ValueError异常。有关如何处理这种可能性的选项,请参见Asking the user for input until they give a valid response。你知道吗

相关问题 更多 >