将两个数字相加
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
并且打印错误。
当我输入 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
并且打印错误。