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