Python中最短数独求解器

2024-04-26 20:31:11 发布

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

我开始用Python编写自己的数独解算器,但速度太慢/太不雅观,
我寻找了一个优雅的方法来解决这个问题。在

我偶然发现了这个神秘的数独解算器和社区给出的非常好的解释: Shortest Sudoku Solver in Python - How does it work?
我已经理解了解释和延伸的版本,但我有一个问题:

当我运行Bill Barksdale解释过的版本,Python版本低于3.0时,解决一个数独需要很长时间,但成功并打印出正确的解决方案。
当我用python3.0或3.4运行这个程序时,程序在不到一秒钟的时间内就完成了,但是打印出了一个错误的解决方案。在

我试图找出Python>;3.0的问题,但我不知道。
有人能指出为什么这个程序运行在python3.0以下而不是上面?在

谢谢


Tags: 方法in程序版本it解决方案社区速度
1条回答
网友
1楼 · 发布于 2024-04-26 20:31:11

我怀疑问题很可能是python3 divide运算符在python22/3 = 0中的不同,而在python32/3 = 0.66666中,这会很好地扰乱逻辑。您可以尝试添加from __future__ import division并在Python2下运行,或者将所有的/替换为//,并在Python3下运行。在

一般来说,模糊代码也是不可维护的代码,所以我会避免将其描述为优雅的代码。在

相关问题 更多 >