Python 在函数中传递用于修改的局部变量

Python passing local variables for modification in function

我正在尝试弄清楚如何将局部变量传递给函数,然后 returning 修改后的值。我写了下面的代码:

def main():
    change = 150    
    coins = 0
    quarter = 25

    while (change >= quarter):
        change = change - quarter
        coins += 1
    print(coins)

if __name__ == "__main__":
    main()

但我希望能够像这样提取零钱和硬币变量的修改:

def main():
    change = 150    
    coins = 0
    quarter = 25

    while (change >= quarter):
        count (change, coins, quarter)

def count(change, count, n):
    change = change - n
    count += 1
    return change, count

if __name__ == "__main__":
    main()

但是,我知道这不是解决问题的方法。据我了解,尝试 return 函数中的多个变量可能存在问题,但当我尝试仅修改计数函数中的 change 变量时似乎也存在问题。 如果有任何建议,我将不胜感激。

您要从 count() 返回两个值,因此您应该在调用它时捕获这些值:

while (change >= quarter):
    change, coins = count(change, coins, quarter)

修改 chco 内部 count() 不会影响外部值 changecoins.