python數獨游戲源代碼100行_python實現自動解數獨小程序

跟朋友最近聊起來數獨游戲,突發奇想使用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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532158.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532158.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532158.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

getline沒有與參數列表匹配的重載函數_C++新增基礎功能解析—函數重載功能的使用...

喜歡的可以收藏轉發加關注“函數重載”指的是可以有多個同名的函數,因此 名稱進行了重載。這兩個術語指的是同一回事,但我們通常使用函數重載。可以通過函數重載來設計? 系列函數——它們完成相同的工作,但使用不同的參數列表。重載函數就像…

公關文秘專業要學計算機,文秘相關專業有哪些

文秘相關專業有哪些引導語:想必大多數人對文秘這個崗位都不陌生,那么與文秘相關專業有哪些呢?接下來是小編為你帶來收集整理的文章,歡迎閱讀!一、中文類專業:中文及相關專業主要包括漢語言文學、漢語言、中…

java seek指針 換行符_Java網絡編程探究|樂字節

大家好,我是樂字節小樂,上次給大家講述了Java中的IO流之輸出流|樂字節,本文將會給大家講述網絡編程。主要內容如下:網絡 網絡分層 IP位置 端口port 網絡編程一、 網絡 1、概念網絡即將不同區域的電腦連接到一起, 組成局…

switch 條件判斷_C語言學習第7篇---C語言三大結構之一判斷結構

if語句分析1.if語句用于根據條件選擇執行語句2.else不能獨立存在且總是與它最近的if想匹配3.else語句后可以接其他if語句if語句中零值比較的注意點---bool型變量應該直接出現在條件中,不要進行比較---變量和0值進行比較時,0值應該出現在比較符合左邊---f…

計算機應用基礎授課提綱,《計算機應用基礎》講授提綱(1).ppt

《計算機應用基礎》講授提綱(1).ppt (49頁)本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!14.9 積分*第四講 Windows基礎基本操作文件操作控制面板中文操作處理磁盤管理命令提示符*Windows 基本操作桌…

工業機器人演示碼垛和卸垛_眾多企業購買自動碼垛機的原因是什么?

企業為什么要購買自動碼垛機呢?難道僅僅是因為它可以自動,讓工作變得輕松簡單嗎?當然不是,如果自動碼垛機僅僅能夠為企業帶來這么點的好處的話,相信是沒有企業愿意花大價錢來購買這些自動碼垛機的,那么企業究竟是看中了自動碼垛…

python 100days github_GitHub - rghwer/Python-100-Days: Python - 100天從新手到大師

Python - 100天從新手到大師 作者:駱昊 最近有很多想學習Python的小伙伴陸陸續續加入我們的交流群,目前我們的交流群人數已經超過一萬人,光靠我自己已經無法及時處理小伙伴們的入群申請,更無法及時為大家解答問題。目前我的想法是…

python期末項目書怎么寫_自己寫了一部書怎么出版

一部書從無到有,包括編寫和出版。編寫可以自己寫,但出版的問題,得靠規定的出版途徑來解決。那么,自己寫了一部書怎么出版?通常包括兩種方法:找出版社直接合作公費出版和找出版公司合作自費出版。自己寫了一部書怎么出…

去哪里找與計算機相關的外文,找計算機相關的外文翻譯

2019-05-18 回答人品爆發,閑著也是閑著,我給你翻譯好了樓主。你看一下。lets start off this chapter by defining the term web application. weve all seen regularclient-side applications, but what exactly is a web application? loosely, it ca…

分頁請求json數據_Python爬蟲入門教程 28-100 虎嗅網文章數據抓取 pyspider

1. 虎嗅網文章數據----寫在前面 今天繼續使用pyspider爬取數據,很不幸,虎嗅資訊網被我選中了,網址為 https://www.huxiu.com/ 爬的就是它的資訊頻道,本文章僅供學習交流使用,切勿用作其他用途。常規操作,分…

bootstrap 導航菜單 折疊位置_教大家如何編寫一個網頁導航條

導航條簡單地說就是對你整個網站模塊的簡單介紹,你可以直接點擊導航條某一個按鈕或板塊便可進入其相應的界面,如:網頁、新聞、貼吧等 。在企業網站上,導航條上常見的有:產品介紹,公司簡介,最新產…

福建省高等學校非計算機考試大綱,福建省高等學校計算機應用水平等級考試三級(偏軟)考試大綱...

福建省高等學校計算機應用水平等級考試三級(偏軟)考試大綱2007年04月13日 星期五 9:55I、考試目的本考試考查考生以下知識與能力:1.具有較寬的計算機系統基礎知識;2.掌握數據結構的基本類型、典型算法及其應用;3&#…

python擬合函數_Python-最小二乘法曲線擬合

行文思路:最小二乘法原理介紹 利用 leastsq() 函數進行最小二乘法擬合 擬合注意事項 利用curve_fit 進行最小二乘法擬合 總結: 參考文獻 實現代碼 一,最小二乘法擬合 最小二乘法是一種數學優化技術,它通過最小化誤差的平方和尋找數…

計算機網絡提高網絡安全意識,提升網絡安全意識 共創清朗網絡環境

為增強公眾網絡安全意識,提高網絡安全防護技能。近期,徐家營街道圍繞“網絡安全為人民、網絡安全靠人民”活動主題,組織開展了“2020國家網絡安全宣傳周”活動,保障用戶合法權益,維護國家網絡安全。一、廣泛宣傳引導。…

base cap 分布式_干貨分享:基于本地消息表的分布式事務解決方案總結

前段時間學習了分布式事務的幾種方案,下面主要總結下基于本地消息表實現可靠消息最終一致性的分布式事務方案。1,什么是分布式事務?在傳統架構中往往是一個單體架構,一個系統就對應一個war包,然后這個系統也只有一個數…

google protobuf_protobuf 指南

簡介安裝語言定義特殊指令定義服務JSON 支持選項生成代碼基礎類型更新 messageGolang 下使用參考簡介Protocol Buffers 是 google 出品的一種數據交換格式, 縮寫為 protobuf.主要介紹 proto3 版本和 Golang 下的使用.安裝protobuf 分為編譯器和運行時兩部分. 編譯器直接使用預編…

計算機無法裝補丁,電腦無法安裝kb4012212補丁如何處理|電腦無法安裝kb4012212補丁的處理方法...

最近,不少用戶的電腦都被《永恒之藍》病毒侵襲,因此微軟官方推出了預防補丁 — kb4012212,正常系統只要安裝該補丁就能避免電腦遭到傷害。不過,有用戶反饋自己遇到了電腦無法安裝kb4012212補丁的情況,該怎么辦呢&#…

shell181網格劃分_ANSYS中SHELL181單元理解和參數詳解?-

頂部和底部的平均值不合適的時候,你應該用這個選項來得到正確的中見面的結果(薄膜結果);例子中包含黑線性材料特性的中間面應力、應變 ,以及在包含諸如譜分析等測長操作的模態疊加之后的中間面結果。 KEYOPT(9) 1 用來從用戶子程序中讀取初始厚度數據。…

使用計算機繪制景物圖像的兩個主要步驟是,計算機11考試.doc

文檔介紹:第五章[4]. 一張CD盤片上存儲的立體聲高保真全頻帶數字音樂約可播放一小時,則其數據量大約是______。A、800MBB、635MBC、400MBD、1GB[6]. 衛星數字電視和新一代數字視盤DVD采用______作為數字視頻壓縮標準。MPEG-2 | MPEG2[10]. 聲卡在計算機中用于完成聲…

mysql在哪里寫代碼_[譯] 如何寫好 Go 代碼

原文:https://scene-si.org/2018/07/24/writing-great-go-code/我寫了多年的 Go 微服務,并在寫完兩本關于 (API Foundations in Go 和 12 Factor Applications with Docker and Go) 主題的書之后,有了一些關于如何寫好 Go 代碼的想法但首先&a…