首页 > 编程知识 正文

python做一个简单的游戏(python入门小游戏)

时间:2023-05-05 04:20:53 阅读:87637 作者:1442

提示:读课文需要4分钟左右。

在新冠灾祸中,一个人坐在家里,空闲的时候,用Python写两个简单的消愁游戏,分享给大家。 另外,希望你通过这两个游戏学习Python的编程知识。

用Python解读九宫格

九宫格最初被称为“hhdjw”,现在也被称为“幻方”。 九宫格游戏对人们的思维锻炼起着很大的作用,千百年来对人们的思维训练产生了很大的影响。 从古代开始人们就意识到九宫格的教育意义,现在也经常出现在文学和电影中。

那么,放了这么多外语,应该进入正题了!

九宫格要求考虑一种方法,将1至9的9个数字放入3*3的网格中,使各行、各列和两条对角线上的3个数之和为15。

破解九宫格的算法有很多种,今天我们用最原始的算法——暴力破解法。

九宫格为3行3列,各行为1-9中的3个数字,因此首先取1-9的所有3个数字的全部序列组合[S1,S2,…,Sn],共计9*8*7=504种。

这样,3行实际上是各行从这504系列中取出一个放入第1列、第2列、第3列,然后就会排起长队。 最后,对于该3*3矩阵,只要判断行、列、对角线、斜对角线都为15即可。

代码的想法

步骤1 :获取1-9的数字的全部数组

Python标准库有一个功能非常强大的模块—— ITER工具。 这个模块提供了许多重复对象,非常有用。

这次使用itertools中的permutations。 这是方便的全数组中的数字,每个组合有三个数字。 例如,S1 (1,2,3 )、S2 )、1,5,8 )…这样就得到了一个较长的列表。 [S1,S2,…,Sn]

Step2:表示3*3的矩阵

Step3:计算行、列、对角线、斜对角线都是15

上面列出了这3*3的矩阵:

行1 _ 1,行1 _ 2,行1 _ 3

行2 _ 1,行2 _ 2,行2 _ 3

行3 _ 1,行3 _ 2,行3 _ 3

Step4:滤波迭代矩阵

这样就得到了“行、列、对角线都为15”的矩阵,但这有重复的要素。 例如如下所示。

1 9 5

9 5 1

5 1 9

例如,第1行是(1,5,9 ),第2行是) 9,5,1 )这样的过滤方法是什么呢? 简单地使用集合。

如果将第1行和第2行放入集合中,主要判断他们的交叉长度为0,则表示他们不交叉就可以了。

有人问:“为什么不是三行比,而是例如row1row2row3呢?

因为前两行已经决定了,所以最后一行也一定已经决定了!

完整代码:

2 .猜数字游戏

用户可以输入1-20中的一个数字,然后猜5次。 当输入的数字与随机生成的预定数字一致时,即使你赢了,当然这里也有要求。 你只有五次机会。 每次输入都会有提示,变大变小。 超过5次的话,会提示game over。

代码思路:

通过input提示用户输入数字,随机生成1-20的整数。

2 .最多循环5次,所以需要用1个while循环,根据循环体输出的内容,判断输入的数字。

3 .分别判断数字变大、变小、正好、这三种情况,在retry的计数器上加1。

代码如下所示。

好了,感兴趣的同学马上执行代码吧。 特别是第二个数字猜谜游戏,我个人觉得很有趣。 也可以增加游戏的难度,如输入1-100中的某个数字进行数字对号游戏等。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。