炎炎夏日,独坐家中,闲来无事,便用Python写了2个简单的解闷小游戏,分享给你们,也希望大家通过这两个小游戏可以学习Python的编程知识。
1.用Python破解九宫格
九宫格最早叫「洛书」,现在也叫「幻方」。九宫格游戏对人们的思维锻炼有着极大的作用,千百年来对人们的思维训练影响巨大,从古时起人们便意识到九宫格的教育意义,现在也经常出现在文学、影视中。
好了,放了这么多洋屁,该进入正题啦!
九宫格要求:把1至9这九个数字放进一个3*3的网格,思考怎么使每行、每列以及两个对角线上的三数之和都等于15。
破解九宫格的算法有很多种,今天我们就用最原始的算法——暴力破解法。
九宫格是三行三列,每一行都是1-9中的3个数字,所以我们先取1-9所有的3个数字的全排列组合[S1,S2,…,Sn],总共有9*8*7=504种。
这样3行,其实就是每一行从这个504序列里面取一个放到第一排、第二排、第三排,就形成了一个矩阵。
最后对这个3*3的矩阵,只要判断行、列、对角线和斜对角线都是15就可以了。
代码思路
Step1:获取1-9数字的全排列
Python标准库中有一个很牛逼的模块——itertools,这个模块提供了很多操作迭代对象,非常方便。
这次我们用itertools里面的