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

sum 写在for里面为什么答案不对?

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


正在回答

5 回答

将sum=0.0放在for循环前面就可以了,每次循环都会重置sum为0的,而且return的位置应该是for循环结束后,这个缩进不对,应该和for对齐,因为遇到return就会直接结束循环,后面的数就不会计算了。

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

遇到return,方法就结束了。。。

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

这样的返回结果就不对了,每次遍历就会返回一个avg

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

returun 的位置不对,第一个X出现的时候,sum=sum+x,然后return就会停止循环,返回sum;return的位置应该和for是对齐的。

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

循环过程中,会不断的给sum赋值等于0,然而我们的目的是让所有值相加,放里面就使加上每一个数之前先等于零,就不是求和了呀

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

举报

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

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

进入课程

sum 写在for里面为什么答案不对?

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