《Python游戏编程入门》注-第3章3

《Python游戏编程入门》的"3.2.4 Mad Lib"中介绍了一个名为"Mad Lib"游戏的编写方法。

1 游戏玩法

"Mad Lib"游戏由玩家根据提示输入一些信息,例如男人姓名、女人姓名、喜欢的食物以及太空船的名字等。游戏根据玩家输入的信息编写出一个故事,如图1所示。

图1 "Mad Lib"游戏

2 代码分析

2.1 显示提示信息

从图1可以看出,游戏运行时,首先会显示提示信息,该提示信息由print()函数实现,如图2所示。

图2 显示提示信息

2.2 输入信息

之后,根据提示输入信息,该功能由input()函数实现,代码如图3所示。

图3 输入信息

从图3中可以看出,用户输入的信息保存在相应的变量中。

2.3 定义故事框架

接下来定义生成故事的框架,该框架保存在字符串类型的变量story中,如图4所示。

图4 定义故事框架

其中,"\n"是转义字符,表示换行,"+"后面的"\"用于多行显示字符串。字符串中的大写字母如"GUY"、"GIRL"、"PLANET"以及"NUMBER"等,是故事框架中的"占位符",之后会将其替换为用户输入的信息。

2.4 替换"占位符"

然后将故事框架中的"占位符"替换为用户输入的信息,代码如图5所示。

图5 替换"占位符"

其中,replace()是字符串的函数,该函数的作用是用第二个参数替换第一个参数,即实现了用户输入信息替换"占位符"的功能。

2.5 打印故事

最后,使用print()函数将替换"占位符"后的故事输入,实现了根据用户输入信息编写一个故事的效果,如图6所示。

图6 打印故事

3 完整代码

完整代码请参考《Python游戏编程入门注-第2章1》中提到的源代码下载地址,路径为"python游戏编程入门->code->code->chap03->MadLIbGame.py"。

相关推荐
B站_计算机毕业设计之家4 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏5 小时前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity5 小时前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道5 小时前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7655 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子5 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q5 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手6 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手6 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集