为了账号安全,请及时绑定邮箱和手机立即绑定

请问这样怎么不对?

def average(*args):

    x=0.0

    n=0

    for s in args:

        s=s+x

        n=n+1

    if n==0:

        return 0

    else:

        return s/n


print average()

print average(1, 2)

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


正在回答

3 回答

  n没限定范围,s按你的意思是元素和,不是元素。 

    s=0.0
    n=0
    while n<len(args):
        for x in args:
            s=s+x
            n=n+1
        if n==0:
            return 0
        else:
            return s/n

0 回复 有任何疑惑可以回复我~

def average(*args):

    x=0.0

    n=0

    for s in args:

        x = x + s

        n=n+1

    if n==0:

        return 0.0

    else:

        return x/n


print (average())

print (average(1, 2))

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

这样就好了。    s既然是元素,x就应该是元素和。

0 回复 有任何疑惑可以回复我~

if n==0:

        return 0 改成return 0.0

s=s+x改成x=s+x

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

请问这样怎么不对?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信