列表索引超出范围,python中的全局变量

时间:2017-11-06 16:27:55

标签: python-3.x list

def queens(i):
    n=8

    if (promising(i)):
        if(i==n):
            for col in range(1,n):
                print(col)
        else:
            for j in range (1,n):
                    col[i+1]=j
                    i=i+1
def promising(i):

    k=1
    switch=True
    while(k<i and switch):

        if(col[i]==col[k] and abs(col[i]-col[k]==i-k)):
                switch= False
        else:
            switch=True
    k+=1
    return switch

我希望使用反向跟踪来运行n-queens问题。我不知道如何纠正关于col变量的错误,我认为我们需要一些全局变量。

任何人都可以解释如何使用全局变量以及为什么我们得到列表索引超出绑定错误。

1 个答案:

答案 0 :(得分:1)

可能是你使用json_decode但是python是零索引的原因吗?

并且您为变量i添加+1,但这是列向量,因此如果您位于range(1,n)i = n超出范围?

我认为你的第一个职能是错误的。