用于解决数独难题的库和脚本。

sudoku-solver的Python项目详细描述


以人类的方式一步一步地解决数独难题的图书馆。

提供了几个脚本来直接求解一些网格。

脚本

数独解算器

用法:数独索引[选项]源

以人类方式解决数独难题的脚本,应用 一些先进的网格求解策略。

如果一个难题不能用包裹里的策略解决, 解谜是通过回溯的方法完成的。

使用--nobacktracking选项禁用回溯方法。

将详细级别增加到3(-vvv)将逐步显示 解决过程。

数独回溯

用法:sudoku_backtrack[选项]source

只使用回溯方法解决数独难题的脚本。

使用--nopreprocessing选项禁用预处理方法 用于减少候选人的数量。

这个选项在小型电网上很有用 需要,但是在大型网格上禁用处理方法将增加 解析时间。

数独指数

用法:数独索引

显示数独拼图的单元格索引,就像在 包裹。开发时非常有用。

网格文件

解算器处理的文件必须遵守一些规则 处理。

  1. 网格文件应该只包含数字和free\u char 性格。默认情况下,free_char由点'表示。'
  2. 默认情况下,其他所有内容都将被忽略
  3. 0字符与free\u字符相同。
  4. 如果一行以开头,则可以在网格上添加注释。 性格。
  5. 如果网格大小不同于81,则网格文件将不会 被认为是有效的。

例1

123.56.89578139624496872153952381467641.97835387564291719623548864915372235748916

例2

004000620760100800000000107000901300230406091001302000903000000006005013042000700

例3

1638.5.7.
..8.4..65
..5..7..8
45..82.39
3.1....4.
7........
839.5....
6.42..59.
....93.81

例4

3 2 9 | 4 1 . | 7 . .
. . . | . . . | 4 . .
. . 5 | . 2 . | . . .
---------------------
5 . . | . . . | 3 . 6
. 6 . | 7 . 3 | . 9 .
8 . 7 | . . . | . . 2
---------------------
. . . | . 4 . | 8 . .
. . 6 | . . . | . . .
. . 3 | . 7 2 | 9 5 1

查看datas文件夹中的更多示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建子类对象时如何调用抽象类构造函数?   htmlunit java如何从javascript解析内容结果?还有一个htmlunit错误   使用JDT Eclipse解析Java方法的抽象语法树   Android开发非常新;如何将Java库添加到Android Studio项目?   swing Java mouselistener   mysql从连接到数据库的java(netbeans)中删除行   java为同一JVM使用多个本地SOCKS代理隧道   java在使用Selenium启动浏览器时出错   java如何在模型上包含列表?   java我不明白这个练习的解决方案   JavaOnTouchEvent:我想在屏幕上用另一个手指移动时识别触摸   java如何通过级联来级联@ManyToOne双向关系?   java如何找到顺序的算法?   java在CSV文件上执行操作   java为什么这个代码不存储多个输入当前只存储一个在新输入时被覆盖的输入