第1篇 基础应用项目
第1章 简易五子棋(控制台版) 2
——print()函数 + 二维列表 + 嵌套for循环 + 多条件if判断
1.1 开发背景 2
1.2 系统设计 3
1.2.1 开发环境 3
1.2.2 业务流程 3
1.2.3 功能结构 3
1.3 技术准备 4
1.3.1 技术概览 4
1.3.2 五子棋算法分析 5
1.3.3 为控制台设置不同字体和背景色 5
1.4 功能设计 6
1.4.1 初始化棋盘 6
1.4.2 打印棋盘 7
1.4.3 记录棋子坐标 7
1.4.4 判断棋子坐标 7
1.4.5 判断指定坐标位置是否有棋子 7
1.4.6 判断当前下棋者 8
1.4.7 五子棋算法实现 8
1.4.8 打印胜利棋盘及赢家 9
1.5 项目运行 10
1.6 源码下载 10
第2章 学生信息管理系统(基础版) 11
——文件读写 + 字典操作 + 字符串格式化 + 列表排序 + lambda表达式
2.1 开发背景 11
2.2 系统设计 12
2.2.1 开发环境 12
2.2.2 业务流程 12
2.2.3 功能结构 12
2.3 技术准备 13
2.4 主函数设计 14
2.4.1 功能概述 14
2.4.2 实现主函数 14
2.4.3 显示主菜单 15
2.5 学生信息维护模块设计 16
2.5.1 功能概述 16
2.5.2 实现录入学生信息功能 17
2.5.3 实现删除学生信息功能 18
2.5.4 实现修改学生信息功能 19
2.6 查询统计模块设计 20
2.6.1 功能概述 20
2.6.2 实现查询学生信息功能 20
2.6.3 实现显示所有学生信息功能 22
2.6.4 实现统计学生总人数功能 22
2.7 排序模块设计 23
2.7.1 排序模块概述 23
2.7.2 实现按学生成绩排序 23
2.8 项目运行 24
2.9 源码下载 24
第2篇 游戏开发项目
第3章 水果消消乐游戏 26
——模块导入 + 类 + 函数 + pygame + random + time
3.1 开发背景 26
3.2 系统设计 27
3.2.1 开发环境 27
3.2.2 业务流程 27
3.2.3 功能结构 27
3.3 技术准备 28
3.3.1 技术概览 28
3.3.2 random模块的使用 29
3.3.3 time模块的使用 30
3.4 搭建游戏主框架 31
3.5 功能设计 32
3.5.1 精灵类设计 32
3.5.2 游戏首屏页面的实现 34
3.5.3 游戏页面的实现 36
3.5.4 可消除水果的检测与标记清除 39
3.5.5 水果的掉落 43
3.5.6 单击相邻水果时的交换 45
3.5.7 “死图”状态的判断 48
3.5.8 游戏倒计时的实现 50
3.5.9 游戏排行榜页面的实现 53
3.6 项目运行 56
3.7 源码下载 56
第4章 超级玛丽冒险游戏 57
——pygame + random + itertools
4.1 开发背景 57
4.2 系统设计 58
4.2.1 开发环境 58
4.2.2 业务流程 58
4.2.3 功能结构 58
4.3 技术准备 59
4.3.1 技术概览 59
4.3.2 itertools模块的使用 59
4.3.3 背景地图加载原理分析 60
4.4 搭建游戏主框架 61
4.5 功能设计 61
4.5.1 游戏窗体设计 61
4.5.2 加载地图 62
4.5.3 玛丽的跳跃功能 63
4.5.4 随机出现障碍物 65
4.5.5 碰撞和积分的实现 67
4.5.6 背景音乐的播放与停止 68
4.6 项目运行 69
4.7 源码下载 70
第3篇 网络爬虫项目
第5章 汽车之家图片抓取工具 72
——文件读写 + 文件夹操作 + urllib + beautifulsoup4 + PyQt5 + Pillow
5.1 开发背景 72
5.2 系统设计 73
5.2.1 开发环境 73
5.2.2 业务流程 73
5.2.3 功能结构 73
5.3 技术准备 74
5.3.1 技术概览 74
5.3.2 使用PyQt5设计Python窗体程序 75
5.3.3 Pillow模块的使用 79
5.4 设计主窗体 80
5.5 功能设计 82
5.5.1 模块导入 82
5.5.2 通过爬虫抓取并保存图片 82
5.5.3 主窗体中调用爬虫方法 85
5.5.4 分类查看抓取的汽车图片 86
5.5.5 单击查看大图 88
5.6 项目运行 89
5.7 源码下载 90
第6章 分布式爬取动态新闻数据 91
——Scrapy + Scrapy-redis + pymysql + Redis
6.1 开发背景 91
6.2 系统设计 92
6.2.1 开发环境 92
6.2.2 业务流程 92
6.2.3 功能结构 92
6.3 技术准备 93
6.3.1 技术概览 93
6.3.2 Redis数据库的使用 94
6.3.3 Scrapy-redis模块 95
6.4 创建数据表 96
6.5 功能设计 96
6.5.1 分析请求地址 97
6.5.2 创建随机请求头 98
6.5.3 创建数据对象 98
6.5.4 将爬取的数据写入MySQL数据库 99
6.5.5 数据的爬取与爬虫项目启动 100
6.5.6 编写配置文件 101
6.6 项目运行 101
6.7 源码下载 104
第4篇 大数据及可视化分析项目
第7章 淘宝电商订单分析系统 106
——pandas + pyecharts + Anaconda + Jupyter NoteBook
7.1 开发背景 106
7.2 系统设计 107
7.2.1 开发环境 107
7.2.2 业务流程 107
7.2.3 功能结构 107
7.3 技术准备 108
7.3.1 pandas模块的使用 108
7.3.2 pyecharts模块的使用 108
7.3.3 Jupyter Notebook的使用 110
7.3.4 Anaconda的使用 111
7.4 前期准备 112
7.4.1 安装第三方模块 112
7.4.2 新建Jupyter Notebook文件 113
7.4.3 准备数据集 114
7.4.4 导入必要的库 115
7.4.5 数据读取与查看 115
7.5 数据预处理 116
7.5.1 缺失性分析 116
7.5.2 描述性统计分析 116
7.5.3 异常数据处理 117
7.6 数据统计分析 118
7.6.1 整体情况分析 118
7.6.2 按订单类型分析订单量 118
7.6.3 按区域分析订单量 119
7.6.4 每日订单量分析 120
7.6.5 小时订单量分析 121
7.7 项目运行 122
7.8 源码下载 123
第8章 停车场车牌自动识别计费系统 124
——BaiduAI + pandas + Matplotlib + OpenCV-Python + pygame
8.1 开发背景 124
8.2 系统设计 125
8.2.1 开发环境 125
8.2.2 业务流程 125
8.2.3 功能结构 126
8.3 技术准备 126
8.3.1 技术概览 126
8.3.2 百度AI接口的使用 127
8.3.3 OpenCV-Python模块的使用 130
8.4 设计主窗体 131
8.5 功能设计 132
8.5.1 实时显示停车场入口监控画面 132
8.5.2 自动创建数据文件 133
8.5.3 识别车牌功能的实现 134
8.5.4 车辆信息的保存与读取 136
8.5.5 实现收入统计 138
8.6 项目运行 140
8.7 源码下载 141
第5篇 Web开发项目
第9章 食趣智选小程序 144
——Flask框架 + MySQL + 微信小程序
9.1 开发背景 144
9.2 系统设计 145
9.2.1 开发环境 145
9.2.2 业务流程 145
9.2.3 功能结构 145
9.3 技术准备 146
9.3.1 技术概览 146
9.3.2 使用SQLAlchemy操作MySQL数据库 146
9.3.3 微信小程序开发基础 148
9.4 数据库设计 153
9.4.1 数据库概要说明 153
9.4.2 数据表模型 153
9.5 登录页授权模块设计 155
9.5.1 登录页授权模块概述 155
9.5.2 登录页面设计 155
9.5.3 登录授权接口实现 157
9.6 首页模块设计 160
9.6.1 首页概述 160
9.6.2 首页页面设计 160
9.6.3 首页接口实现 164
9.7 菜谱模块设计 166
9.7.1 菜谱模块概述 166
9.7.2 菜谱列表页面设计 167
9.7.3 菜谱列表接口设计 170
9.7.4 菜谱详情页面设计 171
9.7.5 菜谱详情接口设计 174
9.8 小程序端其他模块设计 175
9.8.1 百度地图商家地址模块设计 175
9.8.2 上传美食模块设计 177
9.8.3 数据统计模块设计 179
9.9 后台功能模块设计 182
9.9.1 后台登录模块设计 182
9.9.2 菜系管理模块实现 184
9.9.3 美食管理模块实现 191
9.9.4 会员管理功能实现 192
9.10 项目运行 193
9.11 源码下载 195
第10章 乐购甄选在线商城 196
——Flask框架 + SQLAlchemy + MySQL
10.1 开发背景 197
10.2 系统设计 197
10.2.1 开发环境 197
10.2.2 业务流程 197
10.2.3 功能结构 198
10.3 技术准备 198
10.4 数据库设计 199
10.4.1 数据库概要说明 199
10.4.2 数据表结构 200
10.4.3 数据表模型 202
10.4.4 数据表关系 204
10.5 会员注册模块设计 204
10.5.1 会员注册模块概述 204
10.5.2 会员注册页面 205
10.5.3 验证并保存注册信息 209
10.6 会员登录模块设计 209
10.6.1 会员登录模块概述 209
10.6.2 创建会员登录页面 210
10.6.3 保存会员登录状态 212
10.6.4 会员退出功能 213
10.7 首页模块设计 213
10.7.1 首页模块概述 213
10.7.2 实现显示最新上架商品功能 215
10.7.3 实现显示打折商品功能 216
10.7.4 实现显示热门商品功能 218
10.8 购物车模块 219
10.8.1 购物车模块概述 219
10.8.2 实现显示商品详细信息功能 221
10.8.3 实现添加购物车功能 221
10.8.4 实现查看购物车功能 223
10.8.5 实现保存订单功能 226
10.8.6 实现查看订单功能 228
10.9 后台功能模块设计 230
10.9.1 后台登录模块设计 230
10.9.2 商品管理模块设计 231
10.9.3 销量排行榜模块设计 238
10.9.4 会员管理模块设计 239
10.9.5 订单管理模块设计 240
10.10 项目运行 242
10.11 源码下载 244
第11章 智慧校园考试系统 245
——Django框架 + MySQL + Redis + 文件上传技术 + xlrd模块
11.1 开发背景 245
11.2 系统设计 246
11.2.1 开发环境 246
11.2.2 业务流程 246
11.2.3 功能结构 246
11.3 技术准备 247
11.3.1 数据存储技术 247
11.3.2 Django框架的基本使用 247
11.3.3 Django中的文件上传技术 259
11.3.4 使用xlrd读取Excel 260
11.4 数据库设计 261
11.4.1 数据库设计概要 261
11.4.2 数据表模型 262
11.5 用户登录模块设计 263
11.5.1 用户登录模块概述 263
11.5.2 使用Django默认授权机制实现普通登录 264
11.5.3 机构注册功能的实现 270
11.6 核心答题功能设计 274
11.6.1 答题首页设计 274
11.6.2 考试详情页面 276
11.6.3 答题功能的实现 279
11.6.4 提交答案 282
11.7 批量录入题库 285
11.8 项目运行 290
11.9 源码下载 292
第6篇 人工智能开发项目
第12章 AI智能无人机飞控系统 294
——tkinter + threading + Pillow + Tello无人机
12.1 开发背景 294
12.2 系统设计 295
12.2.1 开发环境 295
12.2.2 业务流程 295
12.2.3 功能结构 295
12.3 技术准备 296
12.3.1 技术概览 296
12.3.2 tkinter模块的使用 296
12.3.3 tellomr模块的使用 299
12.4 功能设计 300
12.4.1 模块导入 300
12.4.2 定义全局变量 300
12.4.3 登录窗口设计 301
12.4.4 飞控窗口设计 302
12.4.5 设置并修改无人机飞行流程 304
12.4.6 执行无人机飞行命令 306
12.5 项目运行 307
12.6 源码下载 310