当我输入number1 + number2之和的输入为" answer"和number1,number2是1-500之间的两个随机数,我得到了我的"错了,对不起!"声明而不是"对!"当答案是正确的时候。
例如,如果这两个数字是479 + 121,答案应该是600,对吗?嗯,显然它不是,我的代码喜欢说。由于一些错误逻辑,我猜测。 (请注意,这只是一个摘录。显然,变量在主模块中声明为整数,随机导入。)
def getNumbers():
number1 = random.randint(1, 500)
number2 = random.randint(1, 500)
return number1, number2
def getAnswer(number1, number2, answer):
print("What is the answer to the following equation:")
print(number1)
print("+")
print(number2)
answer = input("What is the sum? ")
return answer
def checkAnswer(number1, number2, answer, right):
if answer == number1 + number2:
print("Right!")
else:
print("Wrong, sorry!")
它出现为:
以下等式的答案是什么?
479
+
121
总和是多少? 600
错了,对不起!
0也是错误的,所以我不确定该值的设置是什么。知道如何修复此代码吗?
答案 0 :(得分:3)
input
函数返回字符串,您应该将其强制转换为int
:
answer = int(input("What is the sum? "))
因为您没有将其强制转换为int "600" == 600
,所以始终为False
且错误打印。