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

请问average()按照答案写的,但是最后算的平均值不对,这是怎么回事呢

def average(*args):

    sum = 0

    if len(args) == 0:

        return sum

    for item in args:

        sum += item

    avg = sum / len(args)

    return avg

print(average(1,2,2,3,4))

算出来的答案是2

提问者:weixin_慕设计7044817 2023-12-12 16:50

个回答

  • 勇往直前3
    2024-05-16 18:54:22

    def average(*args):
        sum = 0.0
        if len(args)==0:
            return None
        for item in args:
            sum += item
        avg = sum / len(args)
        return avg
            
    print(average(1, 2))
    print(average(1, 2, 2, 3, 4))
    print(average())


  • weixin_慕田峪3431918
    2024-04-12 14:42:37

    python3之前的版本中整型除整型得到的依然是整型,即省略小数,之后的版本整型除整型得到的的是浮点数

  • weixin_慕设计7044817
    2023-12-13 17:04:54

    用其他编译器算出来是正常的,直接用课程编译器算出来是2