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

为什么打印结果多出三行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
  • 参与学习       758352    人
  • 解答问题       8967    个

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

进入课程

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号