【问题标题】:Python passing local variables for modification in functionPython传递局部变量以在函数中进行修改
【发布时间】:2016-10-23 00:44:13
【问题描述】:

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

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

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

if __name__ == "__main__":
    main()

但我希望能够像这样提取 change 和 coin 变量的修改:

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()

但是,我知道这不是这样做的方法。据我了解,尝试从函数返回多个变量可能存在问题,但当我尝试仅修改 count 函数中的更改变量时,似乎也存在问题。 我真的很感激任何建议。

【问题讨论】:

    标签: python function variables local


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多