求和两个数字

时间:2016-02-22 07:50:26

标签: python python-3.5

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

1 个答案:

答案 0 :(得分:3)

input函数返回字符串,您应该将其强制转换为int

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

因为您没有将其强制转换为int "600" == 600,所以始终为False且错误打印。