标签
内容简介
编辑推荐
适合谁读
适合
- 对编程感兴趣但不知从何开始的零基础初学者
- 希望以有趣项目为驱动学习Python的青少年或成人自学者
- 想快速了解Python基础语法并体验其实际应用场景的读者
- 需要教学案例、寻找寓教于乐编程课件的教师或培训者
不适合
- 寻求深入讲解计算机图形学、复杂游戏引擎或高级算法优化的开发者
- 已熟练掌握Python基础,希望专攻数据分析、人工智能或Web开发等特定领域的程序员
阅读建议
- 建议按照章节顺序动手输入并运行每一个示例代码,理解其运行逻辑,不要只停留在阅读层面。
- 在完成每个小游戏后,尝试对其进行个性化修改,比如改变游戏规则、增加难度或添加新的功能,这是巩固知识的最佳方式。
- 可将书中游戏项目作为个人作品集的起点,在完全理解的基础上,尝试整合多个项目的技术点,创作一个属于自己的全新小游戏。
出版社简介
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 版权信息
- 版权声明
- 内容提要
- 前言
- 第1章 交互式Shell
- 1.1 一些简单的数学知识
- 1.2 计算表达式
- 1.3 语法错误
- 1.4 在变量中存储值
- 1.5 小结
- 第2章 编写程序
- 2.1 字符串值
- 2.2 连接字符串
- 2.3 在IDLE的文件编辑器中编写程序
- 2.4 Hello World程序如何工作
- 2.5 命名变量
- 2.6 小结
- 第3章 “猜数字”游戏
- 3.1 “猜数字”的运行示例
- 3.2 “猜数字”程序的源代码
- 3.3 导入random模块
- 3.4 用random.randint()函数生成随机数
- 3.5 欢迎玩家
- 3.6 流程控制语句
- 3.7 玩家的猜测
- 3.8 使用int()函数、float()函数、str()函数和bool()函数来转换值
- 3.9 布尔数据类型
- 3.10 if语句
- 3.11 用break语句提早离开循环
- 3.12 判断玩家是否赢了
- 3.13 判断玩家是否输了
- 3.14 小结
- 第4章 一个讲笑话程序
- 4.1 Jokes游戏的运行示例
- 4.2 Jokes游戏的源代码
- 4.3 代码如何工作
- 4.4 转义字符
- 4.5 单引号和双引号
- 4.6 print()的end关键字形参
- 4.7 小结
- 第5章 Dragon Realm
- 5.1 如何玩Dragon Realm
- 5.2 Dragon Realm的运行示例
- 5.3 Dragon Realm的流程图
- 5.4 Dragon Realm的源代码
- 5.5 导入random和time模块
- 5.6 Dragon Realm中的函数
- 5.7 多行字符串
- 5.8 while语句实现循环
- 5.9 布尔操作符
- 5.10 返回值
- 5.11 全局作用域和局部作用域
- 5.12 函数形参
- 5.13 显示游戏结果
- 5.14 决定哪个山洞有友善的龙
- 5.15 游戏循环
- 5.16 小结
- 第6章 使用调试器
- 6.1 Bug的类型
- 6.2 调试器
- 6.3 查找Bug
- 6.4 设置断点
- 6.5 使用断点
- 6.6 小结
- 第7章 用流程图设计Hangman
- 7.1 如何玩Hangman
- 7.2 Hangman的运行示例
- 7.3 ASCII字符图
- 7.4 用流程图来设计一个程序
- 7.5 小结
- 第8章 编写Hangman的代码
- 8.1 Hangman的源代码
- 8.2 导入random模块
- 8.3 常量
- 8.4 列表数据类型
- 8.5 调用方法
- 8.6 从单词列表中获取一个神秘单词
- 8.7 向玩家显示游戏板
- 8.8 获取玩家的猜测
- 8.9 elif语句
- 8.10 确保玩家输入一个有效的猜测
- 8.11 询问玩家是否想再玩一局
- 8.12 回顾Hangman中的函数
- 8.13 游戏循环
- 8.14 小结
- 第9章 Hangman扩展
- 9.1 添加更多的猜测机会
- 9.2 字典数据类型
- 9.3 从一个列表中随机选取
- 9.4 从列表中删除项
- 9.5 多变量赋值
- 9.6 向玩家显示单词的分类
- 9.7 小结
- 第10章 Tic Tac Toe
- 10.1 Tic Tac Toe的运行示例
- 10.2 Tic Tac Toe的源代码
- 10.3 设计程序
- 10.4 导入random模块
- 10.5 在屏幕上打印游戏板
- 10.6 让玩家来选择X或O
- 10.7 决定谁先走
- 10.8 在游戏板上放置一个标记
- 10.9 判断玩家是否获胜
- 10.10 复制游戏板的数据
- 10.11 判断游戏板上的格子是否为空
- 10.12 让玩家输入他们的落子
- 10.13 短路求值
- 10.14 从落子列表中选择一个落子
- 10.15 None值
- 10.16 创建计算机的AI
- 10.17 游戏循环
- 10.18 小结
- 第11章 推理游戏Bagels
- 11.1 Bagels的运行示例
- 11.2 Bagels的源代码
- 11.3 Bagels的流程图
- 11.4 导入random并定义getSecretNum()
- 11.5 打乱一组唯一数的顺序
- 11.6 复合赋值操作符
- 11.7 计算要给出的线索
- 11.8 列表方法sort()
- 11.9 字符串方法join()
- 11.10 检查字符串中是否只包含数字
- 11.11 游戏的开始
- 11.12 字符串插值
- 11.13 游戏循环
- 11.14 小结
- 第12章 笛卡尔坐标
- 12.1 网格和笛卡尔坐标
- 12.2 负数
- 12.3 计算机屏幕的坐标系
- 12.4 数学技巧
- 12.5 绝对值和abs()函数
- 12.6 小结
- 第13章 Sonar Treasure Hunt游戏
- 13.1 Sonar Treasure Hunt的运行示例
- 13.2 Sonar Treasure Hunt的源代码
- 13.3 设计程序
- 13.4 导入random、sys和math模块
- 13.5 创建一个新的游戏板
- 13.6 绘制游戏板
- 13.7 创建随机的藏宝箱
- 13.8 判断一次移动是否有效
- 13.9 在游戏板上进行一次移动
- 13.10 为玩家打印出游戏说明
- 13.11 游戏循环
- 13.12 小结
- 第14章 凯撒密码
- 14.1 密码学和加密
- 14.2 凯撒密码简介
- 14.3 凯撒密码的运行示例
- 14.4 凯撒密码程序的源代码
- 14.5 设置最大键长度
- 14.6 决定加密还是解密
- 14.7 从玩家处得到消息
- 14.8 从玩家处得到密钥
- 14.9 加密或解密消息
- 14.10 程序开始
- 14.11 暴力破解
- 14.12 添加暴力破解模式
- 14.13 小结
- 第15章 Reversegam游戏
- 15.1 如何玩Reversegam
- 15.2 Reversegam的运行示例
- 15.3 Reversegam的源代码
- 15.4 导入模块和设置常量
- 15.5 游戏板数据结构
- 15.6 判断一次落子是否有效
- 15.7 判断有效的坐标
- 15.8 计算游戏板的得分
- 15.9 获取玩家的棋子选择
- 15.10 决定谁先走
- 15.11 在游戏板上落下一个棋子
- 15.12 复制游戏板数据结构
- 15.13 判断一个格子是否在角落上
- 15.14 获取玩家的移动
- 15.15 获取计算机的移动
- 15.16 在屏幕上打印分数
- 15.17 游戏开始
- 15.18 游戏循环
- 15.19 询问玩家是否再玩一局
- 15.20 小结
- 第16章 Reversegam AI模拟
- 16.1 让计算机和自己下棋
- 16.2 让计算机自己多玩几次
- 16.3 比较不同的AI算法
- 16.4 小结
- 第17章 创建图形
- 17.1 安装pygame
- 17.2 pygame中的Hello World
- 17.3 运行pygame Hello World程序的示例
- 17.4 pygame Hello World的源代码
- 17.5 导入pygame模块
- 17.6 初始化pygame
- 17.7 设置pygame窗口
- 17.8 设置颜色变量
- 17.9 将文本写到pygame窗口上
- 17.10 用一种颜色填充一个Surface对象
- 17.11 pygame的绘制函数
- 17.12 Surface对象的blit()方法
- 17.13 将Surface对象绘制到屏幕上
- 17.14 事件和游戏循环
- 17.15 小结
- 第18章 动画图形
- 18.1 Animation程序的运行示例
- 18.2 Animation程序的源代码
- 18.3 让积木移动和弹回
- 18.4 设置常量变量
- 18.5 设置积木数据结构
- 18.6 游戏循环
- 18.7 小结
- 第19章 碰撞检测
- 19.1 碰撞检测程序的运行示例
- 19.2 Collision Detection程序的源代码
- 19.3 导入模块
- 19.4 使用一个时钟来同步程序
- 19.5 创建窗口和数据结构
- 19.6 设置变量以记录移动
- 19.7 处理事件
- 19.8 转移玩家
- 19.9 添加新的食物方块
- 19.10 在屏幕上移动玩家
- 19.11 在窗口上绘制食物方块
- 19.12 小结
- 第20章 声音和图像
- 20.1 使用精灵添加图像
- 20.2 声音文件和图像文件
- 20.3 Sprites and Sounds程序的运行示例
- 20.4 Sprites and Sounds程序的源代码
- 20.5 创建窗口和数据结构
- 20.6 创建音乐和声音
- 20.7 把玩家绘制到窗口上
- 20.8 检查碰撞
- 20.9 在窗口中绘制樱桃
- 20.10 小结
- 第21章 带有声音和图像的Dodger
- 21.1 回顾pygame的基本数据类型
- 21.2 Dodger的运行示例
- 21.3 Dodger的源代码
- 21.4 导入模块
- 21.5 创建常量
- 21.6 定义函数
- 21.7 初始化pygame并设置窗口
- 21.8 设置Font、Sound和Image对象
- 21.9 显示开始界面
- 21.10 开始游戏
- 21.11 游戏循环
- 21.12 增加新的敌人
- 21.13 移动玩家角色和敌人
- 21.14 实现作弊模式
- 21.15 删除敌人
- 21.16 绘制窗口
- 21.17 碰撞检测
- 21.18 游戏结束屏幕
- 21.19 修改Dodger游戏
- 21.20 小结
- 欢迎来到异步社区!
常见问题
这本书需要读者有编程基础吗?
通过这本书能学到什么程度的Python?
书中的代码在最新版本的Python上能运行吗?
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
斯维加特的公开资料目前相当有限,其国籍、生卒年与英文姓名均未见于库内记录,可确认的信息主要围绕其一部作品展开。他编写了《Python游戏编程快速上手(第4版)》,该书属于计算机综合类读物,以Python语言为工具,引导读者从游戏编程入手学习程序设计。这类写作通常注重实践性与可操作性,倾向于用完整的小项目串联语法、逻辑与图形交互等基础知识,让初学者在动手过程中理解编程概念。作为一部已更新至第4版的教程,该书在同类入门读物中具备一定的延续性,适合希望以游戏为切入点接触Python的读者参考。由于缺乏更多生平材料,对斯维加特的介绍只能以其作品所体现的编写方向为限。
李强,公开资料有限,其名下在库作品多达三十种,题材跨度颇广,涉及世界史、社科、工业技术、政治、育儿与励志成长等多个领域。代表作品包括《寂静的春天》,以及《西西里的诺曼王朝》两卷本,后者分别以“征服(1016—1130)”和“王国(1130—1194)”为题,梳理中世纪西西里的政治变迁;社科方面有《社会分层十讲》《社会分层十五讲》,政治方面有《宪政与秩序》,工业技术方面则有《数据驱动的风电滚动轴承故障诊断方法研究》。从作品分布看,其写作兼顾学术普及与现实议题,面向不同读者群体。