《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"。

相关推荐
郭老二3 小时前
【Python】基本语法:装饰器语法糖@
python
_Jimmy_4 小时前
Agent常用检索器的详细介绍
python·langchain
小柯南敲键盘4 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
旅僧5 小时前
Q-learning(自用)
python·机器学习
Python大数据分析@5 小时前
曝梁文锋称「一度不想维护C端用户,奈何赶不走」,DeepSeek真不需要C端用户吗?可能会有啥影响吗?
python
艾斯特_6 小时前
工作流与多Agent协作:LangGraph、MCP和A2A的应用分层
人工智能·python·ai
IT小盘6 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
我叫黑大帅6 小时前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
不如语冰6 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
柠檬味的Cat7 小时前
GEO优化系统哪个渠道商好
大数据·人工智能·python