第 1章 处理数字1 n
1.1 基本数学运算 1 n
1.2 标签:给数字命名 3 n
1.3 不同类型的数字 4 n
1.3.1 分数的操作 4 n
1.3.2 复数 5 n
1.4 获取用户输入 6 n
1.4.1 处理异常和无效输入 8 n
1.4.2 将分数和复数作为输入 9 n
1.5 编写一个数学计算程序 10 n
1.5.1 计算整数因子 10 n
1.5.2 生成乘法表 12 n
1.5.3 转换测量单位 14 n
1.5.4 求二次方程的根 16 n
1.6 本章内容小结 18 n
第 1章 处理数字1 n
1.1 基本数学运算 1 n
1.2 标签:给数字命名 3 n
1.3 不同类型的数字 4 n
1.3.1 分数的操作 4 n
1.3.2 复数 5 n
1.4 获取用户输入 6 n
1.4.1 处理异常和无效输入 8 n
1.4.2 将分数和复数作为输入 9 n
1.5 编写一个数学计算程序 10 n
1.5.1 计算整数因子 10 n
1.5.2 生成乘法表 12 n
1.5.3 转换测量单位 14 n
1.5.4 求二次方程的根 16 n
1.6 本章内容小结 18 n
1.7 编程挑战 19 n
#1:偶数奇数自动售货机 19 n
#2:增强型乘法表生成器 19 n
#3:增强型单位转换器 19 n
#4:分数计算器 19 n
#5:为用户设置退出选项 20 n
第 2章 数据可视化 23 n
2.1 了解笛卡儿坐标平面 23 n
2.2 使用列表和元组 24 n
2.3 用matplotlib绘图 26 n
2.3.1 图上的标记 28 n
2.3.2 绘制纽约市的年平均气温 29 n
2.3.3 比较纽约市的月平均气温 31 n
2.3.4 自定义图形 34 n
2.3.5 保存图形 37 n
2.4 用公式绘图 37 n
2.4.1 牛顿万有引力定律 38 n
2.4.2 抛物运动 39 n
2.5 本章内容小结 44 n
2.6 编程挑战 44 n
#1:温度如何变化 45 n
#2:探索二次函数的可视化 45 n
#3:增强型抛物轨迹比较程序 46 n
#4:可视化你的支出 46 n
#5:探索斐波那契序列与黄金比例 48 n
第3章 数据的统计学特征 50 n
3.1 计算均值 50 n
3.2 计算中位数 52 n
3.3 计算众数并创建频数表 54 n
3.3.1 寻找最常见的元素 54 n
3.3.2 计算众数 55 n
3.3.3 创建频数表 57 n
3.4 测量离散度 59 n
3.4.1 计算一组数字的极差 59 n
3.4.2 计算方差和标准差 60 n
3.5 计算两个数据集之间的相关性 62 n
3.5.1 计算相关系数 63 n
3.5.2 高中成绩和大学入学考试成绩 64 n
3.6 散点图 67 n
3.7 从文件中读取数据 68 n
3.7.1 从文本文件中读取数据 69 n
3.7.2 从CSV文件中读取数据 70 n
3.8 本章内容小结 73 n
3.9 编程挑战 73 n
#1:更好的相关系数计算程序 73 n
#2:统计计算器 73 n
#3:用其他CSV数据做实验 73 n
#4:计算百分位数 74 n
#5:创建分组频数表 74 n
第4章 用SymPy包解代数和符号数学问题 76 n
4.1 定义符号和符号运算 76 n
4.2 使用表达式 78 n
4.2.1 分解和展开表达式 78 n
4.2.2 使表达式整齐输出 79 n
4.2.3 输出级数 80 n
4.2.4 用值替代符号 81 n
4.2.5 将字符串转换为数学表达式 84 n
4.2.6 表达式乘法 85 n
4.3 解方程 86 n
4.3.1 解二次方程 86 n
4.3.2 用其他变量求解一个变量 87 n
4.3.3 解线性方程组 88 n
4.4 用SymPy包绘图 88 n
4.4.1 绘制用户输入的表达式 91 n
4.4.2 多函数图形绘制 92 n
4.5 本章内容小结 94 n
4.6 编程挑战 94 n
#1:寻找因子 94 n
#2:图形方程求解器 94 n
#3:级数求和 94 n
#4:解单变量不等式 95 n
第5章 集合与概率 98 n
5.1 什么是集合? 98 n
5.1.1 构建集合 99 n
5.1.2 子集、超集与幂集 100 n
5.1.3 集合运算 102 n
5.2 概率 106 n
5.2.1 事件A或事件B发生的概率 108 n
5.2.2 事件A与事件B同时发生的概率 109 n
5.2.3 生成随机数 109 n
5.2.4 非均匀随机数 112 n
5.3 本章内容小结 114 n
5.4 编程挑战 114 n
#1:使用文氏图来可视化集合之间的关系 114 n
#2:大数定律 117 n
#3:掷多少次硬币会输光你的钱? 117 n
#4:洗牌 118 n
#5:估计一个圆的面积 118 n
第6章 绘制几何图形和分形 120 n
6.1 使用matplotlib的patches绘制几何图形 120 n
6.1.1 绘制一个圆 122 n
6.1.2 创建动画图形 123 n
6.1.3 抛物轨迹动画演示 125 n
6.2 绘制分形 127 n
6.2.1 平面上点的变换 127 n
6.2.2 绘制Barnsley蕨类植物 131 n
6.3 本章内容小结 134 n
6.4 编程挑战 134 n
#1:在正方形中填充圆形 134 n
#2:绘制Sierpiński三角 136 n
#3:探索Hénon函数 137 n
#4:绘制Mandelbrot集 138 n
第7章 解微积分问题 142 n
7.1 什么是函数? 142 n
7.1.1 函数的定义域和值域 143 n
7.1.2 常用数学函数概述 143 n
7.2 SymPy中的假设 144 n
7.3 计算函数极限 145 n
7.3.1 连续复利 147 n
7.3.2 瞬时变化率 147 n
7.4 函数求导 148 n
7.4.1 求导计算器 149 n
7.4.2 求偏导数 150 n
7.5 高阶导数和最大最小值点 150 n
7.6 用梯度上升法求全局最大值 153 n
7.6.1 梯度上升法的通用程序 156 n
7.6.2 关于初始值的附加说明 157 n
7.6.3 步长和epsilon的角色 158 n
7.7 求函数积分 160 n
7.8 概率密度函数 162 n
7.9 本章内容小结 164 n
7.10 编程挑战 164 n
#1:证明函数在一点处的连续性 165 n
#2:梯度下降法的实现 165 n
#3:两条曲线围成的面积 165 n
#4:计算曲线的长度 166 n
后 记 168 n
下一步可以探索的事情 168 n
欧拉项目 168 n
Python文档 168 n
参考书 169 n
获取帮助 169 n
附录A 软件安装 170 n
A.1 Microsoft Windows 171 n
升级SymPy 172 n
安装matplotlib-venn 172 n
启动Python Shell 172 n
A.2 Linux 172 n
升级SymPy 173 n
安装matplotlib-venn 173 n
启动Python Shell 173 n
A.3 Mac OS X 173 n
升级SymPy 176 n
安装matplotlib-venn 176 n
启动Python Shell 176 n
附录B Python主题概览 177 n
B.1 if __name__ == '__main__' 177 n
B.2 列表推导(List Comprehensions) 178 n
B.3 字典数据结构 180 n
B.4 多个返回值(Multiple Return Values) 181 n
B.5 异常处理(Exception Handling) 183 n
指定多个异常类型 183 n
else代码块 184 n
B.6 在Python中读取文件 185 n
一次性读取所有行 186 n
指定一个文件名作为输入 186 n
读取文件时错误的处理 186 n
B.7 代码重用 189