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

这样写为什么不行

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


正在回答

6 回答

def average(*args):

    sum = 0.0

    if len(args) == 0:

        retrun sum

    while True:

        for x in args:

        sum += x

    return sum / len(args)

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

这样写就没问题了

注意看for循环的范围

https://img1.sycdn.imooc.com//5b962a730001505d02760252.jpg
1 回复 有任何疑惑可以回复我~

而且你最后的"average=sum/i"是什么鬼? 你这个“i”应该是要写元素的个数吧,你试试用“len(args)”代替你的“i”

def average(*args):

     sum=0.0

     if len(args) == 0:

          return sum

     for x in args:

          sum=sum+x

     return sum/len(args)

     


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

for是遍历,不需要"i=o"和“i=i+i”,它是默认一个元素一个元素过去,所以完全不用设置条件和循环方式。

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

i = 0 应该放到 for循环外面去

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

for循环里面 i=0;

所以i永远是1啊

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

慕先生619831 提问者

把i=0放在循环之外就可以了吗
2018-09-08 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这样写为什么不行

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