目录
一、基本数据类型
1.整数
2.浮点数
3.复数
4.操作符
5.数值运算操作
6.字符串类型
二、time库的使用
三、习题
天天向上的力量
文本进度条
凯撒加密
平方根格式化
一、基本数据类型
1.整数
2.浮点数
浮点数运算之间存在不确定尾数问题
round(x,d)进行四舍五入的函数,d是小数截取的位数
幂级表示:<a>e<b>
3.复数
带有j的
4.操作符
除了基础的+-*外,除的表示方法有:
5.数值运算操作
6.字符串类型
Unicode编码的例子
9801金牛座
对字符串的处理(方法)
数据类型格式化
{槽 序列号}
b-二进制 c--字符形式Unicode d-十进制 o-八进制 x--十六进制 X--大写的十六进制
二、time库的使用
时间获取
时间格式化
程序计时
time.sleep()
三、习题
天天向上的力量
代码:
def dayUP(df):
dayup = 1#设定初始值
for i in range(365):#遍历循环实现365天
if i % 7 in [6,0]:##如果是在休息日的话
dayup = dayup*(1 - 0.01)#工作效率比前一天的降低
else:#工作日的话
dayup = dayup*(1 + df)#工作效率比前一天的升高
return dayup
dayfactor = 0.01#设定B君应该努力的初始值
while dayUP(dayfactor) < 1.01**365:#当B君365天后的工作效率比A君低时,进入循环
dayfactor += 0.001#此时B君努力值增加,直至不满足条件,跳出循环
print("工作日的努力参数是: {:.3f}".format(dayfactor))
文本进度条
简单练习
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("======执行结束======")
单行动态更新
采用字符串方式打印可以动态变化的文本进度条,进度条需要能在一行中逐渐变化
要求如下:
(1) 采用sleep()模拟一个持续的进度,获得文本进度条的变化时间;
(2) 通过print()函数实现单行动态刷新,在print()函数中更换参数end的默认值为'',每次使用print()函数输出时不能换行;
(3) 要能回退:打印后光标到之前的位置 \r。
代码如下:
import time
scale=50
print("执行开始".center(scale//2,"-"))#执行开始居中位置放置,其余位置填放“-”
start=time.perf_counter()#定义开始时间
for i in range(scale):#进度条的长度
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='')#进度条的展示形式,\r代表每次运行后返回本条的首行,不进行换行操作。{:^3.0f}进度条数字的展示,居中对齐,输出宽度为3格,精度为0,浮点型输出
time.sleep(0.1)#模拟一个持续的进度,获得文本进度条的变化时间
print("\n"+"执行结束".center(scale//2,'-'))
凯撒加密
代码如下:
s = input()
t = ""
for c in s:
if 'a' <= c <= 'z':
t += chr( ord('a') + ((ord(c)-ord('a')) + 3 )%26 )
elif 'A' <= c <= 'Z':
t += chr( ord('A') + ((ord(c)-ord('A')) + 3 )%26 )
else:
t += c
print(t)
平方根格式化
获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。
输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。
如果结果超过30个字符,则以结果宽度为准。
输入 | 输出 | |
示例 1 |
|
|
注意:输出格式,需要按照先后顺序的。