我想总结一下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
答案 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(">"))
在将字符串分配给answer
和answer2
之前,会将字符串转换为整数。
如果您想支持浮点数(例如1.2
),请将int
更改为float
。