本文记录第三周基本数据类型的学习过程
整数类型
整数无限制,最常用pow(x,y)函数,来计算x的y次幂 也可用x**y表示
二进制0b,0B开头
八进制0o,0O开头
十六进制0x,0X开头
浮点数类型
浮点数间运算存在不确定尾数,例如 0.1+0.2=0.30000000000000004
浮点数运算以及比较 利用round()函数辅助
round(x,d),对x四舍五入,保留d位小数
浮点数科学计数法表示
<a>e<b> 或<a>E<b>
4.3e-3 表示 4.3乘十的负三次方
数值运算函数
天天向上的力量
一 每一天
dayfactor=eval(input())
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
二 工作日
dayup = 1.0
dayfactor = 0.01
for i in range(365):
if i % 7 in [6,0]:
dayup = dayup*(1-dayfactor)
else:
dayup = dayup*(1+dayfactor)
print("工作日的力量:{:.2f} ".format(dayup)
i%7 余数为0或6 即为周末,其他为工作日
三 工作日 VS 每一天
#DayDayUpQ4.py
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))
def保留字为定义函数,其中df为参数
字符串
字符串的序号
字符串的使用
[::-1]可以切片实现逆序
特殊字符
字符串操作符
获取星期字符串
weekstr="一二三四五六日"
weekId=eval(input())
print('星期'+weekstr[weekId-1])
字符串处理函数
字符串处理方法
字符串格式化
字符串格式化使用format函数,使用方法如下
<模板字符串>.format(参数)
time库的使用
时间获取
时间格式化
计时应用
应用——文本进度条
1.较为简单的进度条
#TextProBarV1.py
import time
scale = 10
print("------执行开始------")
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
print("{:^3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("------执行结束------")
2.单行刷新进度条
#TextProBarV2.py
import time
for i in range(101):
print("\r{:3}%".format(i), end="")
time.sleep(0.1)
\r 转义字符为不换行输出,达到刷新效果
3.实例
#TextProBarV3.py
import time
scale = 50
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))