如何检查数字是否在3x3网格中重复?

问题描述 投票:0回答:1
def isSudokuBox(B):
for i in range(0, 3):
    for z in range(0, 3):
        if int(B[i][z]) <= 0:

            return False
            continue
        elif int(B[i][z]) > 9:

            return False
            continue

因此,我制作了检查数字是否为1到9的部分,它可以工作,但是我不知道如何检查重复的数字。我能做什么?一种方法是为每种可能的情况制作条件,但这非常繁琐且不太美观。必须有另一种方式

python sudoku
1个回答
0
投票

您可以做的是拥有一个带有9个0的数组:

numCounts = [0,0,0, 0,0,0, 0,0,0]

每次查看数字增量时,它都是索引。如果索引大于1,则您有重复的数字:

numCounts[number]+=1
if(numCounts > 1):
    print("duplicate " + str(number))
© www.soinside.com 2019 - 2024. All rights reserved.