从函数范围内更改全局整数变量

时间:2019-09-15 07:35:18

标签: python-3.x

我想在函数内更改全局变量的形式。全局变量是整数。尝试这样做时出现错误。这是我要做的事情的简化版本:

variable = 3


def test():

    b = 5
    if b > 0:
        variable -= 1
        print(variable)
    else:
        print('fail')


test()

有人能帮助我找到一种在每次函数测试运行时将整数变量减1的方法吗?

2 个答案:

答案 0 :(得分:0)

在引用您不作为参数传递的函数之外的变量时,必须先将其声明为全局变量,然后再引用它。将global variable添加到函数的开头,它应该可以工作。

答案 1 :(得分:0)

variable = 3
def test():
  b = 5
  global variable
  variable -= 1
  if b > 0:
    print(variable)
  else:
    print('fail')
test()
test()
test()
test()
test()
test()

输出:

2 1个 0 -1 -2 -3

请注意,条件不会满足于失败,因为我们不会对b永远等于5做任何事情。