为数独生成解决方案和启动网格的工具。

sudokulib的Python项目详细描述


sudokulib是一个工具集合,用于生成 数独游戏。它使用递归回溯算法(最初 作者杰里米·布朗,cel destept),能够生成3x3 数独在~0.015秒内完成。它还可以在约0.100秒内生成4x4数独。 (有时更长)。

使用这个库在几秒钟内生成了大约5x5个网格, 但我也看到这个程序运行了几个小时都没有成功生成 一个5x5。任何超过5x5的事情似乎都需要很长时间。

您可以使用这个库通过调用^{tt1}来解决数独难题。$ Sudoku实例的方法。此方法接受两种类型的值。 其中n是网格大小:

  • 具有n^4个值的一维列表
  • 一个多维列表,有n^2个列表,每个列表有n^2个值。每个列表 表示网格中的行

提供给init_grid的列表中的值必须是数字并且 大于0但小于n^2才能显示在起始网格中。任何 其他值将被忽略,谜题将在没有 对这些价值的考虑。

库还提供了生成起始网格的实用程序,因此您可以 玩数独,而不是仅仅产生解决方案。有几个困难 可供选择的级别。

分布中还包括一个用于生成“jigsaw”的示例类 数独的变体。这个类偶尔会生成可解网格。 不到一两秒钟,但往往要花更长的时间。

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

推荐PyPI第三方库


热门话题
java如何在Android上的可访问文件夹中创建文件?(非根)   tomcat Unix脚本未使用Process Runtime在Java中运行   模拟器中的java Android AudioTrack速度异常   java是否创建具有特定@ConditionalOnProperty的注释?   java如何使用json数据从gridview中的URL加载图像?(类别和子类别)   ConcurrentHashMap的java锁定值对象   如何在具有额外属性的Java枚举上执行Javadoc?   java如何修复SocketException连接重置问题?   无附加表的java JPA实体继承   java Android应用程序在启动屏幕后崩溃   java如何将Arraylist保存到文件?   java restTemplate从restfull Web服务获取文件数组   java活动带布局隐藏导航栏   socket未接收任何内容的java BufferedReader