python - 未绑定(bind)本地错误: local variable 'cnt' referenced before assignment

标签 python python-3.x

class Solution:
    def subarraysDivByK(self, A, K):
        """
        :type A: List[int]
        :type K: int
        :rtype: int
        """
        l = len(A)
        div = [[0 for col in range(l)] for row in range(l)]
        sums = [[None for col in range(l)] for row in range(l)]
        global cnt
        cnt = 0
        for i in range(l):
            if A[i]%K == 0:
                div[i][i] = 1
                cnt = cnt+1

        def impl(self,st,en):
            print(st,en)
            if sums[st][en]!=None:
                return sums[st][en]

            if A[st] == A[en]:
                if A[st]%K == 0:
                    sums[st][st] = A[st]
                    div[st][st] = 1
                    print(st,en,sums[st][en])
                    if sums[st][en]%k == 0:
                        div[st][en] = 1
                        cnt = cnt+1
                    return sums[st][st]
            elif st+1==en:
                sums[st][en] = A[st]+A[en]
                print(st,en,sums[st][en])
                if sums[st][en]%K == 0:
                    div[st][en] = 1
                    cnt = cnt+1
                return sums[st][en]
            else:
                if sums[st+1][en]==None:
                    sums[st][en] = impl(self,st+1,en)+A[st]
                if sums[st][en-1]==None:
                    sums[st][en] = impl(self,st,en-1)+A[en]
                #sums[st][en] = sums[st+1][en]+ A[st]
                print(st,en,sums[st][en])
                if sums[st][en]%K == 0:
                    div[st][en] = 1  
                    cnt = cnt+1
                return sums[st][en]


        impl(self,0,len(A)-1)
        print(cnt)
        #print(sums)

最佳答案

您应该在函数impl中添加global cnt,以便全局变量可见。

def impl(self,st,en):
    global cnt
    ...

更多信息请查看:enter link description here .

关于python - 未绑定(bind)本地错误: local variable 'cnt' referenced before assignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54166940/

相关文章:

python - 一行逻辑测试检查一个列表中的所有项目是否存在于另一个列表中

python - python 函数之间传递参数

python - Scrapy 导入错误

python - Django:几何图形的存储方式是什么?

python - 如何根据 ID 镜像新列中的列中的值

python - LIME 功能解释产生无效 key 错误

python - Python 2.7 中的 Try 语句不返回值

python - tensorflow 中的平均精度(mAP)

python - 创建一个从文件读取的函数,创建一个附加到列表的对象

python - Python 中的 Hello World