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

运行结果产生NONE

def average(*args):    sum=0.0    if len(args)==0:        print 0.0    else :        for x in args:            sum=sum+x        return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4) 运行结果 0.0 none 1.5 2.4 为什么会产生一个none的结果

正在回答

3 回答

    if len(args)==0:

        print 0.0

这里if语句结束后要添加返回语句return sum,表示函数此次运行结束了且返回sum参数,若是不加return或者是未指定的return,结果就是返回return默认的None,然后能进行下一个命令print average(1, 2) 

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

这是你的函数:

def average(*args):

    sum=0.0

    if len(args)==0:

        print 0.0

    else :

        for x in args:

           sum=sum+x

        return sum/len(args)

print average() #0.0 None

print average(1, 2) #1.5

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

在你的函数中,在不传入参数时,先打印0.0,然后没有执行else,所以没有return,在没有返回值的情况下,默认返回None。

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

def average(*args):

    sum = 0.0

    if len(args) == 0:

        return sum

    for x in args:

        sum = sum + x

    return sum / len(args)

print average()

print average(1, 2)

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


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

举报

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

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

进入课程

运行结果产生NONE

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