首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复解决程序错误?

如何修复解决程序错误?
EN

Stack Overflow用户
提问于 2013-05-14 12:53:02
回答 2查看 269关注 0票数 2

,这是我的作业,

你好。我不得不做了一条巨蟒sudoku的求解器,这就是我想出来的。

http://pastebin.com/JRKaqSed (包括我的输入和输出)

但是,当我运行它时,第一个填充调用将导致下面的错误。它似乎同时添加了1到2个单元。

代码语言:javascript
运行
复制
0 5 9 0 0 0 4 8 3 #Current row being tested
To Add, 1 #Number to add
0 5 #Row, Column
0 5 9 0 1 1 4 8 3 #Row it outputs

我搞不懂它为什么要这么做。任何帮助都将不胜感激。

谢谢

编辑:

我找到窃听器了。我只是在每一行的开头生成rowSet,因此它不知道是否已经使用了一个数字。

然而,我的代码仍然没有完成sudoku网格

EN

回答 2

Stack Overflow用户

发布于 2013-05-14 13:20:36

我无法复制您得到的错误,但是在sudoku网格中的读取方式有一个问题。

代码语言:javascript
运行
复制
0 5 9 0 0 0 4 8 3
0 0 0 0 0 0 0 1 2
0 1 0 0 2 8 0 0 0
0 9 8 0 7 4 0 2 0
0 4 0 0 8 0 0 3 0
0 7 0 6 3 0 5 4 0
0 0 0 1 6 0 0 5 0
6 2 0 0 0 0 0 0 0
7 3 5 0 0 0 8 6 0

在此文件中以您的方式读取:

代码语言:javascript
运行
复制
fi = open("sudoku.txt", "r")
inFile = fi.read()
grid = [list(i) for i in inFile.split("\n")]

这会创建一个网格,它是一个列表,但不是您所期望的。例如,下面是第一行:

['0', ' ', '5', ' ', '9', ' ', '0', ' ', '0', ' ', '0', ' ', '4', ' ', '8', ' ', '3']

与将文件读入字符串并在换行符上拆分文件不同,您可以循环遍历打开的file对象,并在空格上拆分拆分中的每一行。

代码语言:javascript
运行
复制
fi = open("sudoku.txt", "r")
grid = []
for line in fi:
    grid.append([int(i) for i in line.split(" ")])

因此,我认为您的问题与网格中仍然存在的空间有关,因为在修复这个问题(以及其他有关oldGrid的问题)之后,它解决了sudoku问题。

票数 3
EN

Stack Overflow用户

发布于 2013-05-14 14:29:20

我找到窃听器了。我只是在每一行的开头生成rowSet,因此它不知道是否已经使用了一个数字,这导致了问题。

以下是更正后的代码:http://pastebin.com/JRKaqSed

不过,它仍然没有输出完整的sudoku网格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16543720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档