析30
本章小结31
自测题32
习题35
编程项目39
第2章 数据和确定循环40
2.1 基本数据概念40
2.1.1 数据类型40
2.1.2 表达式41
2.1.3 字面量43
2.1.4 算术运算符44
2.1.5 运算优先级46
2.1.6 混合和转换类型48
2.2 变量49
2.2.1 使用变量的程序52
2.2.2 自增/自减运算符56
2.2.3 打印多个值57
2.3 for循环59
2.3.1 使用循环变量62
2.3.2 关于循环范围的细节64
2.3.3 字符串乘法与打印部分行67
2.3.4 嵌套for循环70
2.4 管理复杂性72
2.4.1 作用域72
2.4.2 伪代码74
2.4.3 常量78
2.5 案例研究:沙漏图80
2.5.1 问题分解和伪代码81
2.5.2 初始结构化版本83
2.5.3 增加一个常量84
本章小结86
自测题86
习题91
编程项目94
第3章 参数与图形98
3.1 参数98
3.1.1 参数的机制103
3.1.2 参数的限制105
3.1.3 多个参数107
3.1.4 参数与常量110
3.1.5 可选参数110
3.2 返回值111
3.2.1 math模块113
3.2.2 random模块116
3.2.3 定义返回值的函数119
3.2.4 返回多个值123
3.3 交互式程序124
3.4 图形128
3.4.1 DrawingPanel简介129
3.4.2 画线和形状131
3.4.3 颜色133
3.4.4 使用循环画图137
3.4.5 文本与字体139
3.4.6 图像141
3.4.7 画图过程分解141
3.5 案例研究:抛射轨迹144
3.5.1 非结构化解决方案146
3.5.2 结构化解决方案148
3.5.3 图形版本150
本章小结153
自测题153
习题158
编程项目164
第4章 条件执行166
4.1 if/else语句166
4.1.1 关系运算符168
4.1.2 if/else语句嵌套170
4.1.3 if/else语句分解174
4.1.4 多个判别条件176
4.2 累积算法176
4.2.1 累积求和176
4.2.2 求小/值循环178
4.2.3 使用if语句的累积求和181
4.2.4 舍入误差183
4.3 函数中的条件执行185
4.3.1 前置条件和后置条件185
4.3.2 抛出异常186
4.3.3 回顾返回值189
4.3.4 分支选择推理191
4.4 字符串193
4.4.1 字符串方法194
4.4.2 按索引访问字符196
4.4.3 字母和数值之间的转换200
4.4.4 累积文本算法202
4.5 案例研究:基础代谢率203
4.5.1 单人非结构化BMR解决方案204
4.5.2 双人非结构化BMR解决方案207
4.5.3 双人结构化BMR解决方案209
4.5.4 过程式设计启发式212
本章小结216
自测题216
习题221
编程项目223
第5章 程序逻辑与不确定循环224
5.1 while循环224
5.1.1 寻找小因数的循环226
5.1.2 循环的启动227
5.2 栅栏算法230
5.2.1 带if语句的栅栏循环232
5.2.2 哨兵循环234
5.2.3 带小/值的哨兵循环236
5.3 布尔逻辑238
5.3.1 逻辑运算符239
5.3.2 布尔变量与标志241
5.3.3 谓词函数243
5.3.4 布尔Zen245
5.3.5 短路求值248
5.4 健壮的程序251
5.4.1 try/except语句252
5.4.2 处理用户错误255
5.5 断言与程序逻辑256
5.5.1 针对断言的推理258
5.5.2 一个详细的断言示例259
5.6 案例研究:数字猜谜游戏262
5.6.1 不带提示的初始版本263
5.6.2 带提示的随机化版本264
5.6.3 健壮的终版本267
本章小结270
自测题270
习题276
编程项目279
第6章 文件处理280
6.1 文件读取基础知识280
6.1.1 数据和文件280
6.1.2 在Python中读取文件282
6.1.3 基于行的文件处理285
6.1.4 文件结构与消耗式输入286
6.1.5 提示输入文件290
6.2 基于标记的处理292
6.2.1 数值输入294
6.2.2 处理非法输入295
6.2.3 行与标记的混合使用296
6.2.4 处理不同数量的标记297
6.2.5 复杂的输入文件301
6.3 高级文件处理303
6.3.1 多行输入记录303
6.3.2 文件输出305
6.3.3 从网页中读取数据308
6.4 案例研究:邮政编码查询310
本章小结316
自测题316
习题318
编程项目321
第7章 列表323
7.1 列表基础知识323
7.1.1 创建列表324
……