类型"/>
05 Python之基本数学类型
一、整数类型
与数学中整数的概念一致:可正可负,没有取值范围限制
EG:pow(2,100)=2^100
四种进制表示形式:
二、浮点数类型
(1)带有小数点和小数的数字
浮点数取值范围和小数精度存在范围,一般情况可以忽略不计
(2)浮点数间存在不确定尾数,不是bug
EG:
解决方案:
round(x,d)
(3)e的使用(科学计数法)
三、复数类型
与数学中的复数一致
四、数学运算操作符
操作符是完成运算的一种符号体系
五、数字类型的关系
六、数值运算函数
以函数形式提供的数值运算功能
七、实例之天天向上的力量
EG1: 代码:
dayup=pow(1.001,365)
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
结果:
EG2:
代码:
dayfactor=0.005
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
EG3:
dayup=1
dayfactor=0.01
for i in range(365):if i%7 in [0,6]:dayup=dayup*(1-dayfactor)else:dayup=dayup*(1+dayfactor)
print("工作日的力量:{:.2f}".format(dayup))
EG4:
构思:
傻瓜代码:试错法
def DayUp(df):#构建一个函数dayup=1for 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=dayfactor+0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))
八、字符串类型及操作
1.字符串类型的表示
(1)字符串:由0个或多个字符组成的有序字符序列
(2)字符串有两类共四种表示方法
(3)字符串的序号
(4)字符串的使用(重点:索引&切片)
(5)字符串的特殊字符:转义符
九、字符串操作符
十、字符串处理函数:一些以函数形式提供的字符串处理功能
十一、字符串处理形式
EG:
s=input()
ls=s.split("-")
print('{}+{}'.format(ls[0],ls[-1]))
十二、字符串类型的格式化
0是参数序号,也就是把第一个参数str替换进去,只有一个参数可以省略
{0:3}表示输出的宽度是3,但如果字符串超过长度3,则以字符串长度显示。
EG:
n = eval(input())
for i in range(1,n+1,2):
print("{0:^{1}}".format(’*’*i, n))
%槽的嵌套:{1} 表示槽的宽度为format()内的第二个数,即本题中的n。
%平方根式化
a=eval(input())
print('{0:+>30.3f}'.format(a**0.5))
十三、time库的使用
1.time库是Python中处理时间的标准库
2.time库包括三类函数
2.1 时间获取
2.2 时间格式化
#格式控制符
#时间格式化
EG:
2.3 程序计时应用
程序计时应用广泛
十四、实例之文本进度条
问题分析:进度条如下图所示
进度条要求:采用字符串方式打印可以动态变化的文本进度条
进度条需要在一行中逐渐变化
1.文本进度条简单的开始
EG1:
import time
scale=10
print('-----执行开始-----')
for i in range(scale+1):a='*'*ib='.'*(scale-i)c=(i/scale)*100print("{:^3.0f}%[{}->{}]".format(c,a,b))time.sleep(1)
print('-----执行结束------')
EG2:
import time as t
scale=10
print("{:=^20}".format("执行开始"))
for i in range(scale+1):a=i*10b=str(a)+"%"print("{:.<20}".format(b))t.sleep(0.1)
print("{:=^20}".format("执行结束"))
2.文本进度条之单行动态刷新
import time
for i in range(101):print("\r{:3}%".format(i),end="")#idle不能识别\rtime.sleep(0.1)
\r 表示将光标的位置回退到本行的开头位置
但是用idle所的结果为:
这样的结果是因为IDLE屏蔽了\r功能
可以以此方法来解决问题
打开Windows+R(+cmd)
直接将文件拖入其中
3.文本进度条实例完整效果
import time
scale = 50
print("执行开始".center(scale//2,'-'))
start = time.perf_counter()
for i in range(scale+1):a = '*' * ib = '.' * (scale - i)c = (i/scale)*100dur = time.perf_counter() - startprint("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))
举一反三:文本进度条的不同函数
注意
本文题目来源为Python123平台和中国大学MOCC的《Python语言程序设计》课程, 主讲老师:嵩天、黄天羽、礼欣。如有侵权,立删。
更多推荐
05 Python之基本数学类型
发布评论