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

我的代码为什么不行呢?

def average(*args):

    sum=0

    i=len(args)

    for a in args:

        sum=sum+a

        return

    sum=sum/i

        


print average()

print average(1, 2)

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


正在回答

7 回答

首先print average()时候报错,说明没有判断len(args)==0的情况

print average(1, 2)时候显示None,说明没有返回值,你加句return返回平均值。还有就是要sum=0.0

我试过可以的,贴上来对你没帮助

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

sum = 0.0   

在运算符两边加空格

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

没有考虑到边界情况,当没有参数传入时,i就为0了

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

当i=0时,你的代码就出问题了,0做分母

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

len()函数的返回值是整数 整数作为分母来做除法的话…… 你懂得

分母的话还是用循环吧 i=i+1.0

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

sum=0.0 试一下

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

注意一下缩进块

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

举报

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

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

进入课程

我的代码为什么不行呢?

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