Python:添加数字

时间:2015-08-30 07:38:17

标签: python

为什么

import sys

class k:
    x = int(sys.argv[1])
    y = int(sys.argv[2])
    z = 0

def add():
        k.z = k.x + k.y

def main():   
    add()
    print  (k.z)

if __name__ == "__main__" : main()

当我在命令中使用数字5和5时,给我10,

class k:
x = 0
y = 0
z = 0
def add():
    k.z  = k.x + k.y

def main():   
    k.x = input("Enter a number")
    k.y = input("Enter another number")    
    add()
    print  (k.z)

if __name__ == "__main__" : main()

当我在提示符下输入5和5时,给我55分。

提前致谢。

2 个答案:

答案 0 :(得分:1)

因为在您的第二个示例中,xy都是字符串(所以'5'+'5' = '55'

要解决此问题:

def main():   
    value = input("Enter a number")
    k.x = int(value)

    value = input("Enter another number")
    k.y = int(value) 

    add()
    print  (k.z)

答案 1 :(得分:1)

在第二个示例中,您忘记了对int的输入进行类型转换,因为input()返回str个对象,+运算符连接字符串。

def main():   
    k.x = int(input("Enter a number"))
    k.y = int(input("Enter another number"))    
    add()