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的位置的当前可能取值:
2.定义函数求解对应每个为0的位置的可能求解,并将位置信息与可能求解以键-键值的形式存储于字典中:
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