回溯suduko解算器python

2024-09-30 01:34:05 发布

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

我正在用Python编写一个Suduko解算器,它使用了回溯,我觉得逻辑是正确的,但我遇到的问题是一个回溯(我假设与类型转换有关),并一直得到相同的回溯,但我不知道是什么原因造成的:

Traceback (most recent call last):

  File "a.py", line 78, in <module>
    main()

File "a.py", line 75, in main
    print(solveSudoku(0))

  File "a.py", line 27, in solveSudoku
    i,j = findNextCellToFill(grid, i, j)

  File "a.py", line 4, in findNextCellToFill
    if grid[x][y] == 0:
TypeError: 'int' object is not subscriptable

这是我的代码:

^{pr2}$

Tags: inpymostmainline原因逻辑grid
3条回答

仔细看看你的回溯。在代码的底部有以下内容:

print_grid(grid)
print(solveSudoku(0))

所以,你调用的是网格=0的解算数独,它是一个整数。你不想用网格来称呼它吗?在

这是因为你试图比较1和[1] 修改isValid函数的前3行如下

def isValid(grid, i, j, d):
    e = []
    e.append(d)

您将0发送到76行的solveSudoku函数中的main函数:

print_grid(grid)
print(solveSudoku(0))

发送网格似乎是一个解决方案:

^{pr2}$

现在,错误是:

^{3}$

相关问题 更多 >

    热门问题