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

为什么sum=0.0放在开头会报错?

sum = 0.0
def average(*args):
    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)

Traceback (most recent call last):
  File "index.py", line 8, in
    print average()
  File "index.py", line 4, in average
    return sum
UnboundLocalError: local variable 'sum' referenced before assignment

标答的sum=0.0放在def之后,为什么放在开头就会报错?

正在回答

2 回答

如果需要全局变量

global sum sum = 0.0
def average(*args):    
    global sum
    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 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么sum=0.0放在开头会报错?

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