我的数独解算程序进入无限循环,我不明白为什么[python]

2024-09-28 01:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

canPlaceTile方法按它应该的方式工作,所以我怀疑问题出在它里面。此外,行计数从不超过2

def canSolve(board, col, row):

    if col == len(board[row]):
        
        row += 1
        col = 0
        if row == len(board):
            for i in board:
                print(*i)
            return True
    
    
    if board[row][col] != 0:
        canSolve(board, col + 1, row)
   
    for num in range(1,10):
        if canPlaceTile(board, col, row, num):
            board[row][col] = num
            if canSolve(board, col + 1, row):
                return True
        board[row][col] = 0
    return False 

Tags: 方法inboardtrueforlenreturnif

热门问题