Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A simple Sudoku generator and solver. 数独生成器和解题器

License

NotificationsYou must be signed in to change notification settings

MorvanZhou/sudoku

Repository files navigation

This is a Sudoku game written in python, default to use Wave Function Collapse method.

Install

pip install sudokum

Generation

A sudoku can be generated with amask_rate. A full solution is generated when passingmask_rate=0.

importsudokumg=sudokum.generate(mask_rate=0.7)print(g)"""[[1 0 0 5 0 0 0 0 3] [0 3 7 0 0 1 0 0 4] [0 0 0 0 0 2 0 0 0] [0 0 0 0 9 4 0 0 0] [0 0 4 0 0 0 0 3 2] [0 0 0 3 2 5 0 0 0] [0 0 0 0 0 0 2 0 0] [7 4 0 0 0 0 0 0 0] [8 0 0 0 0 3 1 0 0]]"""

To visualize the generating procedure, I have made a GUI for animating Wave Function Collapse in sudoku generation.

importsudokumsudokum.display_wfc()

auto

Or you can get you hand on it by running following code.

importsudokumsudokum.display_wfc(human=True)

human

Solving

By usingsudokum.solve() function, it tries to solve the puzzle.

importsudokumg=sudokum.generate(mask_rate=0.7)s=sudokum.solve(g)print(s)"""[[1 2 8 5 4 7 6 9 3] [6 3 7 9 8 1 5 2 4] [4 9 5 6 3 2 7 1 8] [2 1 3 7 9 4 8 5 6] [5 7 4 1 6 8 9 3 2] [9 8 6 3 2 5 4 7 1] [3 5 1 4 7 6 2 8 9] [7 4 2 8 1 9 3 6 5] [8 6 9 2 5 3 1 4 7]]"""

A solving max try number (default to 10) can set as following:

importsudokums=sudokum.solve(g,max_try=3)

Manually check solution

If you have your own solution, you can validate it by following function:

importsudokumok,position_of_problems=sudokum.check(g)

More Example

More use cases can be found in mytest files.

About

A simple Sudoku generator and solver. 数独生成器和解题器

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp