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

如下所示,我没看出来我的有什么问题,希望各位指教

def average(*args):
    
    if len(args)==None
        return 0.0
    sum=0.0
    for i in args
        sum=sum+i
        return sum/len(args)
    

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

正在回答

3 回答

def average(*args):

    if len(args)==0:

        return 0.0

    sum=0.0

    for i in args:

        sum=sum+i

    return sum/len(args)

    

print average()

print average(1, 2)

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

注意if语句行末尾的冒号,另外长度非0时的return语句需要放在if语句外面,不然逻辑有点问题,希望对你有帮助。

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

慕勒4532771

len(args)的结果是0或非0整数,不存在None的情况,函数len()就是这么定义的
2017-02-13 回复 有任何疑惑可以回复我~
#2

Mr扶风人3851981 提问者

非常感谢!
2017-02-17 回复 有任何疑惑可以回复我~

for语句那一行结束用:结尾

return与for对齐,不要缩进

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

None 在python 中的定义并非是为0 的意思。

None和任何其他的数据类型比较永远返回False。

>>> 0==None
False
>>> 1==None
False
>>> 'hello'==None
False
>>> ''==None
False
>>>

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

举报

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

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

进入课程

如下所示,我没看出来我的有什么问题,希望各位指教

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