2024-09-30 16:31:56 发布
网友
我的意思是,如果你有这样的代码,例如:
def test(): money = 0 x = input('') if x == "givemoney": money = money + 100 print(money) test() else: print("something") test()
每次函数运行时,它都会将money重置为0,这是有意义的,但是我如何才能停止呢
在第一个版本中,可以将money作为函数的可选参数。当您从顶层调用它时,您允许它默认。进行递归调用时,传递当前值以代替默认值
money
def test(money = 0): x = input('') if x == "givemoney": money = money + 100 print(money) test(money) else: print("something") test()
你应该使用一个循环。在这里,当调用函数时,在函数的局部范围内定义并初始化money;这就是为什么每次调用test()都会重置它的原因
test()
def test(): money = 0 x = input('') while x != 'stop': if x == "givemoney": money = money + 100 print(money) x = input('') else: print("something") test()
在第一个版本中,可以将
money
作为函数的可选参数。当您从顶层调用它时,您允许它默认。进行递归调用时,传递当前值以代替默认值你应该使用一个循环。在这里,当调用函数时,在函数的局部范围内定义并初始化money;这就是为什么每次调用
test()
都会重置它的原因相关问题 更多 >
编程相关推荐