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

请问大家这么写为什么结果是这样子的呢?(None是从何而来的?)

def average(*args):

    print sum(args)/len(args)

print average(1, 2)

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


http://img1.sycdn.imooc.com//580f59720001043901160102.jpg


正在回答

2 回答

应写成这样:

def average(*args):

    return  sum(args)/len(args)

print average(1, 2)

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

对于你的代码:

def average(*args):

    print sum(args)/len(args)  // ------------(1)

print average(1, 2)   //上面的 (1) print输出后,会跳到下一行,而下一行什么都没有为None,所以你在这里就输出了None(就是你的print输出了两次,第一次能输出结果,之后第二次的print输出的是第一次的print的下一行)

print average(1, 2, 2, 3, 4)  //同上


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

去掉函数average()之前的print就ok了,因为函数没有返回值,print函数之后输出了None

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

举报

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

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

进入课程

请问大家这么写为什么结果是这样子的呢?(None是从何而来的?)

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

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

帮助反馈 APP下载

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

公众号

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