首页 > 解决方案 > 有没有办法在函数中设置变量而无需在每次函数运行时都重置变量?

问题描述

所以我的意思是如果你有这个代码,例如:

def test():
  money = 0
  x = input('')

  if x == "givemoney":
    money = money + 100
    print(money)
    test()
  else:
    print("something")

test()

每次功能运行时它都会将钱重置为 0,这是有道理的,但我怎么能阻止它呢?

标签: python

解决方案


您应该使用循环。这里,money 在函数被调用时在函数本地的作用域中定义和初始化;这就是为什么每次调用都会重置的原因test()

def test():
  money = 0
  x = input('')
  while x != 'stop':
    if x == "givemoney":
      money = money + 100
      print(money)
      x = input('')
    else:
      print("something")

test()

推荐阅读