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

为什么打印结果多出三行None?请指教

def average(*args):

    sum = 0.0
    if len(args) == 0:
        print sum
    else:
        for i in args:
            sum += i
        print sum/len(args)
       
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)

打印结果:

0.0
None
1.5
None
2.4
None

为什么会多出三行None?请大神指教

正在回答

4 回答

你的else没有return,就会出现none

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

慕粉3899038 提问者

非常感谢!
2016-11-04 回复 有任何疑惑可以回复我~

你在方法里打印了,下面调用里并没有任何返回值

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

你方法里面没有return, 所以调用的时候就会返回none 打印出来

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

不对, 你在方法里面打印了?

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

举报

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

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

进入课程

为什么打印结果多出三行None?请指教

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