问答详情
源自:9-7 Python函数使用可变参数

为什么在加这个对于无参数输入的条件不添加返回,而改变成打印会报错呢?

def average(*args):

    sum = 0

    if len(args) == 0:

        print('Error')

    for i in args:

        sum += i

    avg = sum / len(args)

    return avg

print average()


提问者:棹孤舟 2021-08-15 22:26

个回答

  • minzeOK
    2021-08-21 15:21:48
    已采纳

    很简单啊,只打印不返回,那就会继续执行下去。那到了用len(args)时len(args)=0为除数就报错了。我记得前面的章节9-2有讲:return表示返回的意思,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。

    所以懂了么

  • 慕桂英5163723
    2021-08-16 16:45:55

    def average(*args):
    
        sum = 0
    
        if len(args) == 0:
    
            print('Error')
    
        for i in args:
    
            sum += i
    
            avg = sum / len(args)
    
            return avg
    
    average()