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

来源:9-7 Python函数使用可变参数

慕沐1427948

2020-09-24 14: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 = sum / lenth

        return avg

        

print(average())

print(average(1,2))


写回答 关注

4回答

  • 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))


Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154153 学习 · 1075 问题

查看课程

相似问题