变量引用错误:如何使其工作?

时间:2016-12-15 15:38:51

标签: python function variables reference variable-assignment

现在我知道了全局声明,并且还可以找出错误即将发生的原因(计数在函数中引用,我稍后调用它),但是无法想出任何方法来绕过它。为什么即使我在定义变量后调用函数countf也会出错?我该如何重写这段代码? 谢谢你的帮助!

def f(x):
    if count < x:
        <some irrelevvant code>

for i in range(10):
    count = 1
    f(3)
    <some more irrelevant code>

道歉,我认为我原来的问题有点不清楚。我提到的“无关代码”可能实际上是相关的,因此我上传了我的整个代码:

def ways(l, h):
    if count2 < h:
        for v in A:   #A is a globally defined list
            if u != v:
                if check(t, v):
                    count2 += 1
                    t = v
                    ways(l, h)
    else:
        count1 += 1

count1 = 0
for u in A:
    count2 = 1
    t = u
    ways(9, 3)

现在因为我递归调用函数ways,我不能将count2定义为ways中的函数参数。每次Count2 for循环运行时,u必须重置为1,但每次调用ways时都不会重置为{。}

1 个答案:

答案 0 :(得分:1)

def f(x,count):
    if count < x:
        <some irrelevant code>

for i in range(10):
    count = 1
    f(3,count)
    <some more irrelevant code>

制作&#34;计数&#34;本地功能。如果您将 count 传递给函数 f ,则无需将其设为全局,并且它应该可以正常工作。