0

代码不会将 1 添加到“ctr”变量。怎么做?

ctr = 0
def x(ctr):    #function A
    ctr+=1
def y():    #function B
    global ctr
    x(ctr)    #function A
y()
print(ctr)
>>> 0
4

1 回答 1

0

整数是按值传递的,而不是引用。您必须在global ctr内部x()修改全局变量,或返回分配给该值的结果:

ctr = 0
def x(ctr):    #function A
    ctr+=1
    return ctr

def y():    #function B
    global ctr
    ctr = x(ctr)    #function A

y()
print(ctr)
于 2020-03-03T04:48:05.603 回答