日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

完成数独的算法 python_python实现数独算法实例

發布時間:2025/3/8 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 完成数独的算法 python_python实现数独算法实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了python實現數獨算法的方法。分享給大家供大家參考。具體如下:

# -*- coding: utf-8 -*-

'''

Created on 2012-10-5

@author: Administrator

'''

from collections import defaultdict

import itertools

a = [

[ 0, 7, 0, 0, 0, 0, 0, 0, 0], #0

[ 5, 0, 3, 0, 0, 6, 0, 0, 0], #1

[ 0, 6, 2, 0, 8, 0, 7, 0, 0], #2

#

[ 0, 0, 0, 3, 0, 2, 0, 5, 0], #3

[ 0, 0, 4, 0, 1, 0, 3, 0, 0], #4

[ 0, 2, 0, 9, 0, 5, 0, 0, 0], #5

#

[ 0, 0, 1, 0, 3, 0, 5, 9, 0], #6

[ 0, 0, 0, 4, 0, 0, 6, 0, 3], #7

[ 0, 0, 0, 0, 0, 0, 0, 2, 0], #8

# 0, 1, 2, 3,|4, 5, 6,|7, 8

]

#a = [

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #0

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #1

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #2

# #

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #3

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #4

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #5

# #

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #6

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #7

# [0, 0, 0, 0, 0, 0, 0, 0, 0], #8

## 0, 1, 2, 3,|4, 5, 6,|7, 8

# ]

exists_d = dict((((h_idx, y_idx), v) for h_idx, y in enumerate(a) for y_idx , v in enumerate(y) if v))

h_exist = defaultdict(dict)

v_exist = defaultdict(dict)

for k, v in exists_d.items():

h_exist[k[ 0]][k[ 1]] = v

v_exist[k[ 1]][k[ 0]] = v

aa = list(itertools.permutations(range(1, 10), 9))

h_d = {}

for hk, hv in h_exist.items():

x = filter(lambda x:all((x[k] == v for k, v in hv.items())), aa)

x = filter(lambda x:all((x[vk] != v for vk , vv in v_exist.items() for k, v in vv.items() if k != hk)), x)

# print x

h_d[hk] = x

def test(x, y):

return all([y[i] not in [x_[i] for x_ in x] for i in range(len(y)) ])

def test2(x):

return len(set(x)) != 9

s = set(range(9))

sudokus = []

for l0 in h_d[0 ]:

for l1 in h_d[ 1]:

if not test((l0,), l1):

continue

for l2 in h_d[ 2]:

if not test((l0, l1), l2):

continue

# 1,2,3行 進行驗證

if test2([l0[ 0], l0[ 1], l0[ 2]

, l1[ 0], l1[ 1], l1[ 2]

, l2[ 0], l2[ 1], l2[ 2]

]) : continue

if test2([l0[ 3], l0[ 4], l0[ 5]

, l1[ 3], l1[ 4], l1[ 5]

, l2[ 3], l2[ 4], l2[ 5]

]) : continue

if test2([l0[ 6], l0[ 7], l0[ 8]

, l1[ 6], l1[ 7], l1[ 8]

, l2[ 6], l2[ 7], l2[ 8]

]) : continue

for l3 in h_d[ 3]:

if not test((l0, l1, l2), l3):

continue

for l4 in h_d[ 4]:

if not test((l0, l1, l2, l3), l4):

continue

for l5 in h_d[ 5]:

if not test((l0, l1, l2, l3, l4), l5):

continue

# 4,5,6行 進行驗證

if test2([l3[ 0], l3[ 1], l3[ 2]

, l4[ 0], l4[ 1], l4[ 2]

, l5[ 0], l5[ 1], l5[ 2]

]) : continue

if test2([l3[ 3], l3[ 4], l3[ 5]

, l4[ 3], l4[ 4], l4[ 5]

, l5[ 3], l5[ 4], l5[ 5]

]) : continue

if test2([l3[ 6], l3[ 7], l3[ 8]

, l4[ 6], l4[ 7], l4[ 8]

, l5[ 6], l5[ 7], l5[ 8]

]) : continue

for l6 in h_d[ 6]:

if not test((l0, l1, l2, l3, l4, l5,), l6):

continue

for l7 in h_d[ 7]:

if not test((l0, l1, l2, l3, l4, l5, l6), l7):

continue

for l8 in h_d[ 8]:

if not test((l0, l1, l2, l3, l4, l5, l6, l7), l8):

continue

# 7,8,9行 進行驗證

if test2([l6[ 0], l6[ 1], l6[ 2]

, l7[0 ], l7[1 ], l7[2 ]

, l8[0 ], l8[1 ], l8[2 ]

]) : continue

if test2([l6[ 3], l6[ 4], l6[ 5]

, l7[3 ], l7[4 ], l7[5 ]

, l8[3 ], l8[4 ], l8[5 ]

]) : continue

if test2([l6[ 6], l6[ 7], l6[ 8]

, l7[6 ], l7[7 ], l7[8 ]

, l8[6 ], l8[7 ], l8[8 ]

]) : continue

print l0

print l1

print l2

print l3

print l4

print l5

print l6

print l7

print l8

sudokus.append((l0, l1, l2, l3, l4, l5, l6, l7, l8))

希望本文所述對大家的Python程序設計有所幫助。

總結

以上是生活随笔為你收集整理的完成数独的算法 python_python实现数独算法实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99爱爱| 日本在线黄色 | 日本成人激情 | 肉嫁高柳家 高清 | 午夜91视频 | 亚洲视频黄 | 成人免费毛片果冻 | 亚洲午夜精品久久久久久人妖 | 成人片免费看 | 精品动漫3d一区二区三区免费版 | 国产专区精品 | 日韩中文字幕亚洲精品欧美 | 久久超级碰碰 | 久久99国产精品久久99果冻传媒 | 我们2018在线观看免费版高清 | 久久99精品久久久久久 | 日韩精品人妻中文字幕有码 | 韩国毛片视频 | 成人无遮挡 | 18p在线观看 | 久色精品| 在线黄网站 | 日韩在线视频看看 | 欧美黄色大片视频 | 日韩av一卡 | 国产日韩欧美在线观看 | 57pao国产成永久免费视频 | 韩国一级一片高清免费观看 | 精品毛片一区二区三区 | 久久高清国产 | 毛片视频在线免费观看 | 国产伦一区二区三区 | 成人在线免费网站 | bbbbbxxxxx性欧美 | 在线播放av网站 | 2021久久| 色婷婷av一区二区三区之红樱桃 | 成人免费毛片男人用品 | 亚洲最大视频网站 | 成人精品在线播放 | 国产伦精品一区二区三区视频女 | 国产精品果冻传媒潘 | 性欧美成人播放77777 | 琪琪色av | 78日本xxxxxxxxx59 亚洲图片小说视频 | 日韩免费大片 | 国产亚洲精品美女久久久久 | 天堂va在线 | 欧美性猛交99久久久久99按摩 | 视频在线不卡 | 亚洲卡一卡二卡三 | 人人艹在线观看 | 中文字幕久久熟女蜜桃 | 久久首页 | 亚洲尤物视频 | 精品久久综合 | 91网在线| 一级片美女 | 成人欧美一区 | 国产精品无码电影 | 精品国产乱码久久久久久鸭王1 | 亚洲乱码国产乱码精品精剪 | 69av在线 | 啪啪福利视频 | 草草影院在线观看 | 91精品网站 | 人人妻人人玩人人澡人人爽 | 成人香蕉视频 | 亚洲又粗又长 | 强伦轩人妻一区二区电影 | 国产精品久久99 | 日本精品成人 | 久草影视在线观看 | 91看片淫黄大片91桃色 | 插插操操 | 成人免费在线视频网站 | 97午夜| 男女考妣视频 | 嫩草午夜少妇在线影视 | 日本亚洲欧美 | 日本aa在线观看 | 色视频在线看 | 亚洲激情久久久 | a级淫片 | 我爱av好色 | 蜜桃成熟时李丽珍在线观看 | 九色视频偷拍少妇的秘密 | 成人免费在线观看 | 99视频精品免费 | 少妇导航av| 超碰2025| 青青视频免费观看 | 午夜在线观看av | 国产精品免费av | 日韩xxx高潮hd| 人妻一区二区三 | 国产高潮视频在线观看 | 五月av综合av国产av | 波多野结衣1区2区3区 |