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

python 代码讨论

def average(*args):

    sum = 0

    n = 0

    for x in args:

        if n != None:

            sum = sum + x 

            n = n + 1.0

    if n != 0:

        return sum/n

    else:

        return 0.0

print average()

print average(1, 2)

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

#斜体部分改成 n = n + 1 为什么不对

正在回答

3 回答

错不在此,关键是这一行:

return sum/n

在 Python 2 中,除运算 / 结果类型根据参数类型而定,如 1 / 2 = 0,1.0 / 2 = 0.5

明白了吗?

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

if n != None:    这一句是什么意思啊?求楼主指点

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

慕斯卡7212574

应该是 :如果n的值不为空 的意思
2017-08-20 回复 有任何疑惑可以回复我~

def average(*args):

    sum = 0

    n = 0.0

    for x in args:

        if n != None:

            sum = sum + x 

            n = n + 1

    if n != 0:

        return sum/n

    else:

        return 0.0

print average()

print average(1, 2)

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

#斜体部分改成 n = 0.0

是不是也可以啊

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

By_syk

可以。
2017-05-14 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

python 代码讨论

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