Skip to content

spencerwooo/Sudoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sudoku

Sudoku

BIT 软件开发个人项目

需求分析

⚡ 基础:

  1. 命令行程序:生成不重复的数独终局至文件
  2. 读取文件中的数独问题,求解并将结果输出至文件

🚀 进阶:

GUI,实现一个窗口程序。数独游戏。

项目结构

.
├── LICENSE
├── README.md
├── docs
├── performance
│   ├── performance_update.png
│   ├── performance_update.pstats
│   ├── result.png
│   └── result.pstats
├── requirements.txt
├── sudoku
│   ├── README.md
│   ├── __init__.py
│   ├── create_sudoku.py
│   ├── main.py
│   ├── solve-me.txt
│   ├── solve_sudoku.py
│   └── sudoku.txt
└── tests
    ├── README.md
    └── coverage.xml

编译运行

# 安装依赖
$ pip install -r requirements.txt

# 进入项目源代码目录
$ cd sudoku

# 生成一定数量的数独终局至文件 'sudoku.txt'
$ python main.py -c 2

# 从指定文件路径读取文件并解决其中的数独
$ python main.py -s 'solve-me.txt'

项目进展

  • 项目结构建立
  • 生成不重复的数独
  • 求解数独
  • 建立项目文档(博客)
  • 代码正确性测试
  • 代码性能测试
  • 代码性能优化 🚩
  • 撰写开发博客
  • 撰写 PSP 表格 (Personal Software Progress) 🚩
  • 实现 GUI

性能测试数独用例

  1. 初阶性能测试用例
0 0 9 0 0 8 0 4 0
6 0 0 0 0 0 0 1 7
0 1 0 0 4 0 0 0 0
0 0 0 0 0 0 0 0 4
4 8 0 6 0 3 0 2 1
3 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 8 0
2 4 0 0 0 0 0 0 6
0 5 0 7 0 0 1 0 0

我的时间

  • [2018-12-5] 时间:5.8187s
  • [2018-12-9] 时间:0.012s
  1. 高阶性能测试用例
0 0 0 0 0 5 0 2 0
1 0 0 9 0 0 0 0 0
4 0 0 0 0 0 0 0 0
0 0 8 0 0 2 0 0 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 9 0 4
0 0 5 0 0 0 3 0 0
0 0 0 1 0 0 0 0 7
0 0 2 4 0 8 0 0 0

我的时间

  • [2018-12-5] 时间:142.0937s(_〆(´Д` ) 这垃圾性能)
  • [2018-12-9] 时间:0.2017s((づ ̄ 3 ̄)づ 牛逼!)

🔢 Sudoku ©Spencer Woo. Released under the MIT License.

Authored and maintained by Spencer Woo.

@Blog · ⒿJike · @GitHub

About

🍳 数独 | BIT 软件工程个人作业

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages