- 3.1 数字类型操作
- 3.2 实例3:天天向上的力量
- 3.3 字符串类型及操作
- 3.4 模块2:time库的使用
- 3.5 实例4:文本进度条
3.1数据类型及操作
- 整数类型
- 浮点数类型
- 复数类型
- 数值运算操作符
- 数值运算函数
整数类型
整数:可正可负,没有取值范围限制
-pow(x,y)函数:计算指数函数
数字类型及操作
1.整数类 //有无限取值范围
- 十进制
- 二进制: 以0b、0B开头 例如:0b010、-0B101
- 八进制:以0o、0O开头
- 十六进制:0x、0X开头
2.浮点类
浮点数间运算存在不确定尾数,不是bug
使用round函数辅助: round(0.1+0.2,1)==0.3
true
1表示只取一位尾数
round(x[,d]) 若省略:取整 意思是对x四舍五入,d值表示小数截取位数
3.复数类 //进行空间变换或和复变函数相关的科学体系中常用
实例:z=1.23e-4+5.6e+89j
- z.real获得实部
- z.image获得虚部
数字运算操作符
+、-、、/(产生浮点数结果)、//(整数除)、%、*(幂运算)
混合运算:生成结果为“最宽”类型
数值运算函数
- abs(x):绝对值
- **divmod(x,y) :商余 例如:divmod(10,3),结果为(3,1)
- pow()幂运算函数
- round(x[,d]):四舍五入函数函数
- max(x1,x2,...,xn),min(x1,x2,...,xn)
- 数字类型转换函数:int(x),float(x),complex(x)//整数变为复数,增加虚数部分
3.2天天向上的力量
第一问
#DayDayUpQ1.py
dayup=pow(1.001,365)
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
(犯错!:format前应该是"."而不是",")
第二问
#DayDayUpQ2.py
dayfactor=0.005
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
通过更改dayfactor的值计算不同的提高、下降率
第三问:工作日的力量
#DayDayUpQ3.py
dayup=1.0
dayfactor=0.01 #提高百分之一
for i in range(365):
if i%7 in [6,0]: #余数为6或者0
dayup= dayup*(1-dayfactor)
else:
dayup= dayup*(1+dayfactor)
print("工作日的力量:{:.2f}".format(dayup))
第四问
Q:工作日模式要努力到什么水平,才能达到每天努力1%的水平?
for...in...(计算思维)
def..while...(“笨办法”试错)
#DayDayUpQ4.py
def dayUP(df): #保留字def,定义一个参数叫dayUp,变量值为df
dayup = 1
for i in range(365):
if i % 7 in [6,0]:
dayup = dayup*(1-0.01)
else:
dayup = dayup*(1+df)
return dayup
dayfactor = 0.01
while dayUP(dayfactor)< 37.78:
dayfactor += 0.001
print("工作日的努力参数是{:.3f}".format(dayfactor))