def tim():
cash = 100
while cash != 0:
print("while loop:",cash)
john(cash)
def john(cash):
print("john func:",cash)
cash = cash -1
tim()
有人可以解释为什么约翰()不会降低现金的价值?我一直在努力解决这个问题。
答案 0 :(得分:2)
函数参数按值传递,而不是按引用传递,因此分配john
中的变量对tim
中的变量没有影响。该函数应返回新值:
def tim():
cash = 100
while cash != 0:
print("while loop:",cash)
cash = john(cash)
def john(cash):
print("john func:",cash)
return cash - 1
tim()