保持一个全局变量static - python

时间:2016-04-18 17:35:06

标签: python variables global local

我认为我理解全局和局部变量,但显然不是。类似的问题似乎取决于改变一个全局变量,但是我的正在被改变,它不应该被改变。

我有一个包含一些数字的列表,我想使用这些数字创建一个新列表,而不更改初始列表。

deductions = 3
gross = [5,5,5,5]
net = net_result(gross, deductions)

def net_result(G, D):
    Nets = G
    Deduct = D
    for each in range(0,4):
        if Deduct > Nets[each]:
            Deduct = Deduct - Nets[each]
            Nets[each] = 0
        else:
            Nets[each] = Nets[each] - Deduct
            Deduct = 0
    return (Nets, Deduct)

在上面的代码中,net的输出是正确的,但是big也同时减少了。导致毛和净等于[2,5,5,5],当它应该是[5,5,5,5]和[[2,5,5,5],0]

这对我来说似乎不对,但我无法解决我没有得到的问题。否则我必须重置Gross变量或我不能再次调用它们

0 个答案:

没有答案