第三章主要是学习基本数据类型中数字类型、字符串类型、time库、格式化输出,其中字符串类型第一章中有一点点,这种详细的进行了讲解,最后给出了一个Python官方中文教程:https://docs.python.org/zh-cn/3/,看了一下,很多看不懂。。不属于入门级!
框架太大将分成四部分进行列出来!
总体框架:
数字类型及操作
字符串类型及操作
格式化输出
time库
练习:
python123中练习:
1、天天向上力量
工作日模式要努力到什么水平,才能与每天努力1%一样?
-A君: 一年365天,每天进步1%,不停歇
-B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢?
每周工作5天休息2天,计算工作日的努力参数是多少才能与每天努力1%一样。
def dayUP(df):
day_up=1
for i in range(365):
if i %7in[6,0]:
day_up=day_up*(1-0.01)
else:
day_up=day_up*(1+df)
return day_up
dayfactor=0.01
while dayUP(dayfactor)<1.01**365:
dayfactor+=0.001
print('工作日的努力参数是: {:.3f}'.format(dayfactor))
结果:工作日的努力参数是:0.019
2、进度条
def progress():
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()
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))
结果:
3、三次方格式化
获得用户输入的一个数字,可能是整数或浮点数,a,计算a的三次方值,并打印输出。
输出结果采用宽度20个字符、居中输出、多余字符采用减号(-)填充。
如果结果超过20个字符,则以结果宽度为准。
def three():
num=eval(input())
num_three=num**3
print('{:-^20}'.format(num_three))#方法一
print(str(num_three).center(20,'-'))#方法二
结果:
10
--------1000--------
--------1000--------
4、星形三角输出
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
def xingxing():
num=eval(input())
for i in range(num):
if i%2==0:
num_three='*'
print(str(num_three*(i+1)).center(num,' '))
结果:
5
*
***
*****
5凯撒密码
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入包含大小写字母a~zA~Z、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
输入
示例1: python is good
输出
示例1: sbwkrq lv jrrg
def jiemi1():
list_da=string.ascii_uppercase#大写26字母
list_xiao=string.ascii_lowercase#小写26字母
list_yuanwen=list_da+list_xiao
list_miwenD=list_da[3:]+list_da[:3]#大写密文
list_miwenX=list_xiao[3:]+list_xiao[:3]#小写密文
list_miwen=list_miwenD+list_miwenX
strin=input()
strout=''#strin
for i in range(len(strin)):
if strin[i] in list_yuanwen:
for j in range(len(list_yuanwen)):
if list_yuanwen[j] == strin[i]:
strout += list_miwen[j]
else:
strout +=strin[i]
print(strout)
jiemi1()