将两个数字相加

Sum two numbers

当我输入 number1 + number2 的总和作为 "answer" 和 number1, number2 是 1-500 之间的两个随机数时,我得到我的 "Wrong, sorry!" 语句而不是 "Right!" 当答案正确时。

比如两个数是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 也是错误的,所以我不确定该值被设置为什么。知道如何修复此代码吗?

input function returns string ,你应该把它转换成 int :

answer = int(input("What is the sum? "))

因为你没有将它转换为 int "600" == 600 总是 False 并且打印错误。