快捷搜索:  汽车  科技

python怎么编写数独(python实现自动解数独小程序)

python怎么编写数独(python实现自动解数独小程序)3.对每一个位置的可能求解进行判断,若可能解只有一个,则填入该解,循环直至数独求解完成2.定义函数求解对应每个为0的位置的可能求解,并将位置信息与可能求解以键-键值的形式存储于字典中:2.对取值集合位数为1,即空格处为单一取值的进行赋值,(填入动作),重复1刷新字典直到字典为空位置;当前实现如下:1.将数独输入列表中,并定义函数count_candinate_number(j)根据数独规则计算每一个为0的位置的当前可能取值:

跟朋友最近聊起来数独游戏,突发奇想使用python编写一个自动计算数独解的小程序。

数独的规则不再过多阐述,在此描述一下程序的主要思路:

(当前程序只针对于简单的数独,更复杂的还待深入挖掘)

1.计算当前每个空格可能的取值集合,并将空格顺序值对应取值集合置于字典中;

2.对取值集合位数为1,即空格处为单一取值的进行赋值,(填入动作),重复1刷新字典直到字典为空位置;

当前实现如下:

1.将数独输入列表中,并定义函数count_candinate_number(j)根据数独规则计算每一个为0的位置的当前可能取值:

python怎么编写数独(python实现自动解数独小程序)(1)

2.定义函数求解对应每个为0的位置的可能求解,并将位置信息与可能求解以键-键值的形式存储于字典中:

python怎么编写数独(python实现自动解数独小程序)(2)

3.对每一个位置的可能求解进行判断,若可能解只有一个,则填入该解,循环直至数独求解完成

python怎么编写数独(python实现自动解数独小程序)(3)

程序运行结果:

D:\pythonwokr\venv\Scripts\python.exe D:/pythonwokr/数独.py

已求解 [6 2 7 5 1 4 9 8 3 5 4 8 9 3 7 2 6 1 3 9 1 6 8 2 4 7 5 4 1 2 3 7 5 8 9 6 9 7 6 1 2 8 5 3 4 8 5 3 4 9 6 7 1 2 2 6 9 7 4 1 3 5 8 1 3 4 8 5 9 6 2 7 7 8 5 2 6 3 1 4 9]

Process finished with exit code 0

猜您喜欢: