python背单词游戏_Python基础-背单词游戏

Hangman直译为“吊死鬼”,是一个猜单词的双人游戏。

由一个玩家想出一个单词或短语,另一个玩家猜该单词或短语中的每一个字母。第一个人抽走单词或短语,只留下相应数量的空白与下划线。

想字的玩家一般会画一个绞刑架,当猜字的玩家猜出了短语中存在的一个字母时,想字的玩家就将这个字母存在的所有位置都填上。

如果玩家猜的字母不在单词或短语中,那么想字的玩家就给绞刑架上小人添上一笔,直到7笔过后,游戏结束。

文字有点枯燥,让我们看一个玩法示例

今天借用猜单词游戏的Python代码,要讲解Python中的几个重要概念:

1.行和缩进

2.认识变量

3.流程控制

话不多说,我们来看下。

1.行和缩进:

在Python中,可以粗略的把行分为两种。

1.1

首先是“

物理行

”,顾名思义文件中的每一个肉眼可见的行都算作一个物理行。

1.2

逻辑行

:我们的一个业务逻辑-即一个赋值/判断或者其他任何一件事都称为一个逻辑。一般来说,Python中一个物理行就对应一个逻辑行。但是也有例外:①空行 ②用分号隔开的逻辑行

这里我们可以先记住最常用的逻辑,

“每一个肉眼可见的“物理行”,就对应一个逻辑”

1.3

缩进

Python中的缩进意味着一个新的“代码块”,我们可以粗略的理解为一个代码段落。

话说回来,因为Python依靠缩进(4个空格或者1个制表符)来识别代码块。所以在每一行的开头要注意检查空格与否,以及有几个空格(空格和制表符的混用也会报错)

2.变量

变量的定义是计算机语言中能储存计算结果或能表示值抽象概念。想象一下,在猜单词的游戏中我们最开始就可以设计几个变量。来存储游戏过程中的几个信息

missedLetters

:当我们猜错一个字母的时候,当然不希望在同一个坑上浪费一次机会。所以这里设置变量来记录所有猜错的字母

correctLetters

:相对的,猜中的字母需要另一个变量来记录

secretWord

:所有输入的字母都要和“谜底”进行比对,所以把它也存成一个变量来供计算机调取

gameIsDone

:游戏完成标志这个变量的意义在于,我们希望游戏结束时-程序能够知道这个信息。我们可以在这个节点设计“重玩游戏”或者猜对以后的奖励事件等等

3.流程控制

流程控制,通俗的说流程控制是程序运行的基础

,流程控制决定了程序按照什么样的方式去执行

以猜单词的游戏为例,为了存储游戏中几个需要记录的结果,先要进行“变量初始化”。

这时候就运用到了程序世界里的第一种流程-顺序执行。

先创建"HANGMAN_PICS"变量,而后是"words"。

实际上,如果我们的业务逻辑可以精确到唯一的途径。那么代码就仅会用到

顺序

但是现实问题总是有很多分叉选项,以猜单词为例。需要用到

分支控制(if…else)

来屏蔽掉输入多个字母/非字母的情况,来保证程序不会因为错误的输入不知所措

另外,屏蔽掉错误输入之后。这里给玩家机会重新进行这次尝试(可以想象成现实游戏中,我们会出代表26个字母的牌。这样的话重复输入一个字母或者输入多个字母的场景并不会出现。故而,在设计游戏程序的时候。这种错误不会扣掉一次机会)。

重新尝试的代码/逻辑和第一次并没有任何区别,所以使用了

循环控制

的方法复用了这段逻辑。相应的,

在分支控制之中使用return关键字设计了这段循环的出口(return会终止循环)

最后,当我们了解了Python的基本规则后。可以尝试读懂整个游戏逻辑。在工作之中也是如此,读懂范例或者前辈的代码。加以适当改造,可以让学习过程更加高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Date类练习

package demo09;import java.util.Date;public class TestDate {public static void main(String[] args) {//获取当前时间Date now new Date();//输出当前时间System.out.println(now.toString());System.out.println(now.toLocaleString());System.out.println(now.getYear(…

全连接层的作用_python构建计算图2——全连接层

(好久不更~)前文中,参照tensorflow的方式实现了简单的自动求导。接下来要在自动求导的基底(模板)上搭建简单的bp神经网络。计算图前文曾多次提到计算图,关于什么是计算图,有很多种说法。既然它被…

DateFormat类

DateFormat是一个抽象类,一般使用它的子类SimpleDateFormat类来实现。主要作用就是把时间队形转化成指定格式的字符串 反之,把指定格式的字符串转化成时间对象。 package demo10;import java.text.DateFormat; import java.text.ParseException; impor…

pythonocc 扩展数据_如何在pythonOCC中使用样条函数?

您只需将代码修改为C(而不是C)BOOST_PYTHON_MODULE(Spline){import_array();boost::python::numeric::array::set_module_and_type("numpy", "ndarray");class_("Spline", init<>()).def("spline", &Spline::spline);}因此在…

免费CDN:jsDeliver+Github使用方法

免费CDN&#xff1a;jsDeliverGithub使用方法 CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。CDN是构建在网络之上的内容分发网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户…

python 电脑显示桌面_使用Python快速实现显示器关闭和锁住桌面

现在很多公司都需要考虑节能&#xff0c;特别对电方面的节能。因此很多公司都针对电脑进行管理&#xff0c;比如当你离开电脑时&#xff0c;需要把显示器处于关闭状态&#xff0c;同时让电脑处于锁定状态&#xff0c;这样有利于节能&#xff0c;同时也能延长电脑显示器的寿命&a…

教你如何使用github+jsDelivr搭建免费图床

前言 之前写了一篇文章&#xff0c;教你如何使用TyporaPicGo实现图片自动上传到图床 。 这里我用的是七牛图床&#xff0c;七牛图床有一定的免费使用量&#xff08;没记错的话应该是10个G&#xff09;&#xff0c;如果你的存储量超过这个大小就需要付费使用了。除此之外&…

python extract的使用_Python extract及contains方法代码实例

一&#xff0c;extract方法的使用extract函数主要是对于数据进行提取。场景一般对于DataFrame中的一列中的数据进行提取的场合比较多。例如一列中包含了很长的字段&#xff0c;我们希望在这些字段中提取出我们想要的字段时&#xff0c;就可以通过extract方法进行数据的提取了。…

hexo-Fluid主题使用手册

hexo-Fluid主题使用手册 [官网] https://fluid-dev.github.io/hexo-fluid-docs/ 前言 Fluid 是一款很十分优雅的主题&#xff0c;那么写一篇优雅的文章搭配它呢&#xff1f;以下会从几个方面来简述&#xff0c;主要还是做几个推荐。 文章内容 熟悉 Markdown 语法 对于使…

怎么用python做战斗机_关于python文件操作

总是记不住API。昨晚写的时候用到了这些&#xff0c;但是没记住&#xff0c;于是就索性整理一下吧&#xff1a;python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录&#xff0c;即当前Python脚本工作的目录路径: os.getcwd()返回指定目…

Hexo-fluid主题设置统计博客阅读量

Hexo-fluid主题设置统计博客阅读量 开始小插曲&#xff1a; 我使用的是sublime文本编辑器&#xff1a; [官网] https://www.sublimetext.com/ 正戏开始 查找关键字&#xff1a;web_analytics (快捷键ctrlF) 这里我使用一个第三方服务Leancloud来统计文章的阅读量。 首先…

使用Hexo写博客

尽管 Hexo 支持 MarkDown&#xff0c;但是我们却不能像写单独的 MarkDown 文档时那样肆无忌惮。由于我们所写的文档是需要被解析为静态网页文件的&#xff0c;所以我们必须严格遵从 Hexo 的规范&#xff0c;这样才能解析出条理清晰的静态网页文件。新建文档 假设我们的文章名为…

mysql过滤效率和java过滤效率_如何合理选择初中高效过滤器的效率?

利菲尔特环保科技点击蓝字 关注我们 各种型号的空气过滤器有不同的标准和使用效率&#xff0c;今天利菲尔特为您介绍各种类型的空气过滤器在不同地方的应用。一般情况下&#xff0c;最末一级过滤器决定空气净化的程度&#xff0c;上游的各级过滤器只起保护作用&…

宝塔面板搭建autoPicCdn:一款基于jsdelivr-Github的免费CDN图床

autoPicCdn是白嫖Github的存储空间&#xff0c;通过jsdelivr全球加速(含有国内节点)。实现图床加速的目的。加速效果非常不错&#xff0c;用站长工具检测&#xff0c;也是一片绿油油&#xff0c;所以用来存储一些静态文件是最合适不过了。 相关文章&#xff1a;GithubjsDelivrP…

物流设计大赛优秀作品_中国外运杯第七届全国大学生物流设计大赛案例专家评审会在京召开...

2020年9月10日&#xff0c;“中国外运杯”第七届全国大学生物流设计大赛案例专家评审会在京召开。中国物流与采购联合会副会长任豪祥、中国物流与采购联合会原副会长、中国物流与采购联合会专家委员会主任戴定一、中国外运股份有限公司首席数字官高翔等有关领导及来自行业企业、…

WordPress博客网站搬家和换域名方法

WordPress博客网站搬家和换域名方法方案一 开设个人博客的朋友使用WordPress不在少数&#xff0c;那么也难免不了更换空间和域名的情况&#xff0c;由于笔者亲历了一次更换空间和域名的情况&#xff0c;将博客从AAA.com 更改为 BBB.com&#xff0c;所以本文就分享一下更换域名…

Hexo部署出现错误err-Error-Spawn-failed解决方式

Hexo部署出现错误err: Error: Spawn failed解决方式部署过程中可能会出现错误 fatal: unable to access https://github.com/a956551943/a956551943.github.io/: Encountered end of file FATAL {err: Error: Spawn failedat ChildProcess.<anonymous> (/usr/local/src/h…

python输出国际象棋棋盘_python输出国际象棋棋盘的实例分享

国际象棋是当今国际上最流行的智力体育运动项目。青年人下棋可以锻炼思维、增强记忆力和培养坚强的意志&#xff1b;中年人下棋可以享受美学&#xff1b;老年下棋可以很好的休息娱乐。国际象棋游戏有自己的规则&#xff0c;需要两个人将棋子落在棋盘上。棋子落在棋盘上事件&…

细思极恐---十年生死两茫茫,通信人,意欲亡。

每一位通信人&#xff0c;都可能面对过来自亲友的“灵魂三问”。 “通信究竟是什么&#xff1f;” “通信从哪里来&#xff1f;” “通信要往哪里去&#xff1f;” 讲真的&#xff0c;我不知道。。。。本篇博文是模仿codesheep羊哥写的&#xff0c;因为我们都学的通信&#x…

python矩阵运算dot_numpy中的dot矩阵乘法

本来以为这辈子都和数学没啥关系了&#xff0c;结果遇到了np.dot()。numpy中的“*”和“dot”运算是完全不同的&#xff0c;前者是直接计算&#xff0c;后者是矩阵相乘。(venv) [rootlocalhost tf]# pythonPython 3.4.5 (default, May 29 2017, 15:17:55)[GCC 4.8.5 20150623 (…