Python数据科学零基础一本通 作者:洪锦魁
先说一下做这个主要是因为作者
为了省本子,然后经常会出现请修改示例2什么什么的,然后又要翻记录,最最主要的是这本书上的例子是图片!!!
晓得图片是什么意思不,就是不能复制,当然了你买纸质书也复制不到电脑上。
我是大概看到了第二三章的时候,做后面的习题,还要去翻以前,我已经翻了三四次了。代码也重复敲了了三四次,而且网上也没有关于这本书的的课后习题什么的。
于是我决定自己动手丰衣足食,同时也给为这本书烦恼的宝宝们图个方便。
如果是没有购买这本书电子版或纸质版的也可以支持一下书的作者。
最后就是这里面的【插图】是图片,你们有书的话可以联合书一起看。
第二章 认识变量与基本数学运算
2-3 认识程序的意义
程序实例ch2_1.py:
使用程序计算每年可以存储多少钱,下面是整个程序设计。
时薪:hourly_salary,用此变量代替x,即每小时的薪资。
年薪:annual_salary,用此变量代替y,即一年工作所赚的钱。
月支出:monthly_fee,用此变量代替z,即每个月的花费。
年支出:annual_fee,用此变量代替a,即每年的花费。
年存储:annual_savings,用此变量代替b,即每年所存储的钱。
hourly_salary = 125 #小时工资
annual_salary = hourly_salary * 8 * 300 #年薪
monthly_fee = 9000 #月费
annual_fee = monthly_fee * 12 #年费
annual_savings = annual_salary - annual_fee #每年节省
print(annual_savings)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
192000
>>>
2-4 认识注释的意义
程序ch2_1.py中尽管已经为变量设置了有意义的名称,但时间一久,常常还是会忘记各个指令的内涵。
所以笔者建议,设计程序时,应适度地为程序代码加上注释。
在1-10节已经讲解了注释的方法,下面将直接以实例说明。
程序实例ch2_2.py:
重新设计程序ch2_1.py,为程序代码加上注释。
hourly_salary = 125 # 设置时薪
annual_salary = hourly_salary\
* 8 * 300 #计算年薪
monthly_fee = 9000 #设置每月花费
annual_fee = monthly_fee * 12 #计算每年花费
annual_savings = \ #计算每年存储金额
annual_salary - annual_fee
print(annual_savings) #列出每年存储金额
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
192000
>>>
2-11 Python的断行
2-11-1 一行有多个语句
在Python中允许一行有多个,彼此用“;”隔开即可,尽管Python有提供此功能,不过笔者不鼓励如此撰写程序代码。
程序实例ch2_3.py:
一行有多个语句的实例。
x = 10
print(x)
y = 20;print(y)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
10
20
>>>
2-11-2 将一个语句分成多行
在设计大型程序时,常会碰上一个语句很长,需要分成两行或更多行撰写,此时可以在语句后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。
特别注意,在“\”符号右边不可以加上任何符号或文字,即使是注释符号也是不允许的。
另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。
程序实例ch2_4.py:
将一个语句分成多行的应用。
a = b = c = 10
x = a + b + c + 12
print(x)
#续航方法1
y = a +\
b +\
c +\
12
print(y)
#续航方法2
z = ( a + #此处还可以加上注释
b +
c +
12)
print(z)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
42
42
42
>>>
2-12 专题——复利计算/计算圆面积与圆周长
2-12-1 银行存款复利的计算
程序实例ch2_5.py:
银行存款复利的计算。假设目前银行年利率是1.5%,复利公式如下:
[插图]
现有一笔5万元存款,请计算5年后的本金和。
money = 50000 * (1+0.015)**5
print('本金和是:%d'%money)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
本金和是:53864
>>>
2-12-2 计算圆面积与周长
程序实例ch2_6py:
假设圆半径是5cm,圆面积与圆周长计算公式分别如下:
'''
圆面积 = PI*r*r #Pi = 3.1415926,r是半径
圆周长 = 2*PI*r
'''
from math import pi
r = 5
print('圆面积:单位是平方厘米')
area = pi*r*r
print('%.6f'%area)
circurference = 2*pi*r
print('圆周长:单位是厘米㎝')
print('%.4f'%circurference)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
圆面积:单位是平方厘米
78.539816
圆周长:单位是厘米㎝
31.4159
>>>
习题
- 1.请重新设计c h2_1.py,将打工时薪改为150元。(2-1~2-3节) [插图]
hourly_salary = 150 #小时工资
annual_salary = hourly_salary * 8 * 300 #年薪
monthly_fee = 9000 #月费
annual_fee = monthly_fee * 12 #年费
annual_savings = annual_salary - annual_fee #每年节省
print('每年存款金额 %d'%annual_savings)
- 执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
每年存款金额 252000
>>>
-
2.重新设计ch2_5.py,假设是单利率,5年期间可以领多少利息?(2-5~2-7节) [插图]
-
关于这个单利复利的区别书上没有说。
-
单利就是利不生利,即本金固定,到期后一次性结算利息,而本金所产生的利息不再计算利息。
-
复利其实就是利滚利,即把上一期的本金和利息作为下一期的本金来计算利息。
本金是10万,月利率都是5%,一年后单利和复利分别是:
单利的算法:100000×(1+5%×12)=16万元
复利的算法:100000×(1+5%)^12=17.956万元
money = 50000 * (0.015*5)
print('本金和是:%d'%money)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
本金和是:3750
>>>
- 3.重新设计ch2_5.py,假设期初本金是100 000元,年利率是2%,这是复利计算,请问10年后本金总和是多少?(2-5~2-12节)[插图]
money = 100000 * (1+0.02)**10
print('本金和是:%f'%money)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
本金和是:121899.441999
>>>
- 4.一个幼儿园买了100个苹果给学生当营养午餐,学生人数是23人,每个人午餐可以吃一个,请问这些苹果可以吃几天?第几天苹果会不够供应?同时列出缺少了几个。(2-5~2-12节)
- 解这题用了while哈哈哈哈哈,不知道是不是朝纲了,上面说用(2-5~2-12节)的内容,好吧我再想想别的法子,这个就当解题法1吧!
- 解法1:
apple = 100
students = 23
sum1 = 0
while apple>=0:
#print('apple',apple,'students','students')
sum1 += 1
apple -= students
print('可以吃',sum1-1,'天')
print('第',sum1,'天不够供应')
print('缺少了',-apple,'个')
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
可以吃 4 天
第 5 天不够供应
缺少了 15 个
>>>
- 解法二:(这回不超纲)
apple = 100
students = 23
a,b=divmod(apple,students)
print('可以吃',a,'天')
print('第',a+1,'天不够供应')
print('缺少了',students-b,'个')
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
可以吃 4 天
第 5 天不够供应
缺少了 15 个
>>>
- 5.地球和月球的距离是384 400千米,假设火箭飞行速度是每分钟400千米,请问从地球飞到月球需要多少分钟?(2-5~2-12节)[插图]
earth_moon = 384400
rocket = 400
minutes = earth_moon / rocket
print('从地球飞到月球需要%.2f'%minutes)
执行结果:
= RESTART: D:\BianChengKaiFaHuanJing\Python\PythonCode\orange.py
从地球飞到月球需要961.00
>>>
- 6.假设圆柱半径是20厘米,高度是30厘米,请计算此圆柱的体积。圆柱体积计算公式是:圆面积×圆柱高度。(2-5~2-12节)[插图]
from math import pi
r = 20
hight = 30
area = pi * r