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

这个为什么输出结果是1,跟示例的结果1.5输出不一致

# Enter a code

def average(*args):

    lenth = len(args)

    if lenth == 0 :

        return 0;

    else:

        sum = 0

        for item in args:

            sum += item

        avg = sum / lenth

        return avg

        

print(average())

print(average(1,2))


提问者:慕沐1427948 2020-09-24 14:35

个回答

  • weixin_慕九州2104452
    2022-07-19 07:01:58

    因为你的sum = 0,意思是打印的最后结果默认为整数,变成sum = 0.0即可

  • 廖玉文_给力印
    2021-01-12 06:20:16

    是不是python版本问题,我用Python 3.9.1没问题,输出是1.5


  • 海岸边滴树
    2020-09-26 14:57:32

    sum = 0.0就行了

  • 慕沐1427948
    2020-09-24 14:39:35

    已经解决了,

    # Enter a code

    def average(*args):

        lenth = len(args)

        if lenth == 0 :

            return 0;

        else:

            sum = 0

            for item in args:

                sum += item

            avg = float(sum) /float( lenth) #将两个数字转为float就不丢失小数部分

            return avg

            

    print(average())

    print(average(1,2))