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

for循环格式

def average(*args):    sum = 0.0    if len (args) == 0:        return sum        for x in args:        sum = sum + x        average = sum *1.0 /len (args)        return average         print average() print average(1, 2) print average(1, 2, 2, 3, 4) 这样写为什么不会输出正确答案啊

正在回答

2 回答

你的格式是不是这样呀
 for x in args:        
     sum = sum + x        
     average = sum *1.0 /len (args)        
     return average
如果是的话,sum值只加了第一个元素,average又除以了总的参数个数,所以输出的答案就是错误的
只要把sum和average放在for循环外面就可以了,具体可以见下面的代码

def average(*args):
    sum = 0.0
    if len (args) == 0:
        return sum
    else:
        for x in args:
            sum = sum + x
        average = sum *1.0 /len (args)
        return average
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)


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

def average(*args):

    sum = 0.0

    if len (args) == 0:

        return sum

    

    for x in args:

        sum = sum + x

        average = sum *1.0 /len (args)

        return average

print average()

print average(1, 2)

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


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

要努力的L

def average(*args): sum = 0.0 if len (args) == 0: return sum for x in args: sum = sum + x average = sum *1.0 /len (args) return average print average() print average(1, 2) print average(1, 2, 2, 3, 4) average要等到循环结束,不在循环体内
2019-07-01 回复 有任何疑惑可以回复我~
#2

要努力的L 回复 要努力的L

????格式错了,意思就是average不在循环体内,不然每循环一次相除一次。
2019-07-01 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

for循环格式

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