在我的乘法游戏中我遇到了问题,即使答案是正确的,也会显示其他内容。
以下是代码示例:
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')
答案 0 :(得分:2)
在Python 3.x
中,Input返回str
,而在Python 2.x
中,它尝试将输入评估为python代码。并且str == int
始终返回False
,并且不会抛出exception
。您需要将代码更改为:
if guess == str(answer):
如果您想要避免在输入实际上不是数字时抛出异常,或者
gess = int(input(...))
如果您打算稍后使用guess
作为数字,但必须处理如果用户输入的数字不会发生的情况。