Python从if语句调用函数

时间:2016-03-13 21:57:55

标签: python function integer

我想总结一下raw_input(">")所取的数字,但是当我在python shell上运行代码时,它不是给我总和,它给了我配对的数字。那就是:如果我在输入上给4 answer和5 answer2,它将返回45而不是9.请帮帮我。

from sys import argv

def sum(num1, num2):
    result =(num1 + num2)
    return result


print ' I wanna know your two results'
answer = raw_input(">")
answer2 = raw_input(">")

real_answer = sum(answer, answer2)
print real_answer

2 个答案:

答案 0 :(得分:2)

您需要先转换为整数:

answer = int(raw_input(">"))
answer2 = int(raw_input(">"))

或保持相同并执行此操作:

real_answer = sum(map(int, (answer, answer2)))

real_answer = sum(int(answer), int(answer2))

但只有两个数字,您不需要sum()

real_answer = int(answer) + int(answer2)

答案 1 :(得分:1)

这是因为答案是作为字符串读取的,而对于字符串,加法运算符将它们连接起来。您可以通过将输入行更改为:

来修复它
answer = int(raw_input(">"))
answer2 = int(raw_input(">"))

在将字符串分配给answeranswer2之前,会将字符串转换为整数。

如果您想支持浮点数(例如1.2),请将int更改为float