Splat操作符与功能相结合

时间:2016-07-29 14:14:43

标签: python

我在python中有这个程序,它打印数字的总和。我使用了splat运算符(*)。当我打印结果时,我得到的结果? 谁能纠正这个? 我尝试了很多东西,比如传递多个参数,但它根本不起作用。

   def addition(*no):
    sum = 0
    for n in no:
        sum=sum+n


print addition(4)

1 个答案:

答案 0 :(得分:0)

您需要使用sum声明返回return变量:

def addition(*no):
    sum = 0
    for n in no:
        sum=sum+n
    return sum

print addition(4)

您获得None,因为从不使用return的函数会在Python中返回None

另请注意,如果您需要编写在生产环境中执行此操作的函数,则sum函数:

def addition(*no):
    return sum(no)