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

为什么return时无法运算

def average(*args):

    sum=0.0

    x=0.0

    if len(args)==0:

        return sum

    else:

        for a in args:

            sum=sum+a

            x=x+1.0

        average=sum/x

        return average

print average()

print average(1, 2)

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

↑这样不会报错,但是如果把倒数第四行和倒数第五行,也就是

average=sum/x
return average

合成一行,变成

return average=sum/x

就会报错

请问是哪里出的问题?

正在回答

5 回答

return后面只能返回变量,不能在return后面赋值

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

只提示语法错误。

题主问的也有问题,return的时候,并不是不可以计算,return sum/x 就是先计算再成功返回。

我理解题主想问的是,为什么return语句后面不能跟一个赋值等式。有些语言里是允许这样写的,我记得php就可以。但这可能就是语言间不一样的地方。

既然是语法错误,那就是python的解释器就不允许这种书写形式,题主也就不用纠结背后有什么其它原因了。

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

语法错误  应该改成 return sum / x


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

直接写return sum/x 就可以了。

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

语法错误  改成 return sum/x


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

举报

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

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

进入课程

为什么return时无法运算

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