即使正确,也会显示其他信息

时间:2014-04-04 03:48:50

标签: python python-3.x

在我的乘法游戏中我遇到了问题,即使答案是正确的,也会显示其他内容。

以下是代码示例:

for num in range(0,1):
    number1 = random.randint(2,5)
    number2 = random.randint(2,5)
    answer = number1*number2
    guess = input("What is %d x %d? " % (number1, number2))

if guess == answer:
    print('Correct')
else:
    print('Incorrect')

1 个答案:

答案 0 :(得分:2)

Python 3.x中,Input返回str,而在Python 2.x中,它尝试将输入评估为python代码。并且str == int始终返回False,并且不会抛出exception。您需要将代码更改为:

if guess == str(answer):

如果您想要避免在输入实际上不是数字时抛出异常,或者

gess = int(input(...))

如果您打算稍后使用guess作为数字,但必须处理如果用户输入的数字不会发生的情况。