算术测验不接受正确答案

Arthimatic Quiz Not Accepting Correct Answers

我正在尝试做一个算术测验,但是运行遇到了这个问题:即使我输入了正确的答案,它似乎也会忽略正确的答案代码并直接进入错误的答案代码。基本上,它不接受任何正确答案。

import random
num1 = (random.randrange(10))
num2 = (random.randrange(10))
correct1 = (num1*num2)

ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ")

if ans1 == correct1:
    print("Correct! ")

if ans1 != correct1:
    print(" Incorrect. ")
    print("  The correct answer was " + str(ans1))

当运行时,我得到这样的结果:

What is 3 multiplied by 0? 0
    Incorrect. 
        The correct answer was 0

请注意答案和我的输入是如何相同的,但它 运行 是错误答案的代码。谁能帮我解决这个问题?我正在使用 Python 3.4.

3 不等于 "3"。调用 input(在 Python3 中)的结果是一个字符串,而不是数字。

根据用户输入调用 int

...

ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ")
ans1 = int(ans1)

...
if int(ans1) == correct1:
    print("Correct! ")
else:
    print(" Incorrect. ")
    print("  The correct answer was " + str(ans1))

你必须将数字与数字进行比较。
您正在比较“3”与 3