四种进制表示形式:
十进制:99,20021
二进制:以0b或者0B开头
八进制:以0o或0O开头
十六进制:以0x或者0X开头
二进制表示小数,可以无限接近,但不完全相同。
round(x,d)对x进行4舍5入,d是小数截取位数。
z = 123e-4+5.6e+89j
用z.real()获得实部,z.imag()获得虚部。
数值运算操作符:
类型见可进行混合运算,生成结果为‘最宽’类型 整数->浮点数->复数
赋值运算:
比较运算:
逻辑运算:
成员运算:
abs(x): 绝对值,返回x的绝对值 divmod(x,y): 返回(x//y,x%y),即商、余 pow(x,y[,z]): round(x[,d]): 四舍五入,d是保留小数位数,默认值为0 max(x1,x2,...,xn) 返回最大值 min(x1,x2,...,xn) 返回最小值 类型转换: int(x): 将x变成整数,舍弃小数部分 float(x): 将x变成浮点数,增加小数部分 complex(x): 将x变成复数,增加虚数部分
''' 问题1:千分之一的力量 Q1 : 一年365天,每天进步千分之一,累计进步多少呢? 一年365天,每天退步千分之一,累计还剩下多少? ''' dayup = pow(1.001,365) daydown = pow(0.999,365) print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown)) ''' Q2: 一年365天,每天进步千分之五或百分之一 一年365天,每天退步千分之五或百分之一 ''' def Q2(vars,days): up = pow(1+vars,days) down = pow(1-vars,days) print("向上:{:.2f},向下:{:.2f}".format(up,down)) Q2(0.005,365) Q2(0.01,365) ''' Q3: 一年365天,一周五个工作日,休息两天,百分之一 ''' dayfactor = 0.01 dayup = 1.0 for i in range(365): if i%7 in [0,6]: dayup = dayup*(1-dayfactor) else: dayup = dayup*(1+dayfactor) print("工作日的力量:{:.2f}".format(dayup)) ''' Q4: 工作日模式要努力到什么水平,才能与每天努力1%一样 A :每天进步1%,永不停歇 B : 一周工作5天,休息2天,休息日下降1%,要多努力呢? ''' def dayUp(df): dayup = 1 for i in range(365): if i%7 in [0,6]: dayup = dayup*(1-0.01) else: dayup = dayup*(1+df) return dayup dayfactor = 0.01 while dayUp(dayfactor)<37.78: dayfactor += 0.0001 print("工作日的努力参数是:{:.4f}".format(dayfactor))
GRIT : perseverance and passion for a long-term goals
''' 三天打鱼两天晒网呢? ''' def dayRaise(r):#raise是保留字 factor = 1 for i in range(365): if i%5 in [0,4]: factor = factor*(1-r) else : factor = factor*(1+2*r) return factor print("三天打鱼两天晒网,但努力时双份的结果是:{:.4f}".format(dayRaise(0.01))) ''' 每周学习6天 知识加1%,休息一天 能力减3% ''' def th(r): fact = 1 for i in range(365): if i%7 in [6]: fact = fact*(1-3*r) else : fact = fact*(1+r) return fact print("休息时大脑不工作,能力值为:{:.4f}".format(th(0.01)))
向上:1.44,向下:0.69 向上:6.17,向下:0.16 向上:37.78,向下:0.03 工作日的力量:4.63 工作日的努力参数是:0.0182 三天打鱼两天晒网,但努力时双份的结果是:17.6269 休息时大脑不工作,能力值为:4.6208