python实验收获_python实验课代码心得
在交互狀態(tài)下格式化打印
①注意看 % 和 {} 格式化打印的區(qū)別,將它們與C語言的格式化打印區(qū)分開來。
2.凱撒加密算法
①原理:字母表一共有26個(gè)英文字母,加密時(shí),我們需要將某個(gè)明文字母做N位偏移得到密文,這個(gè)N最多為26,而且偏移為26時(shí)和偏移為0時(shí)一樣,明文和密文對(duì)應(yīng)相等,實(shí)際上可以說最大的偏移量為25,這里的偏移量是這個(gè)加密解密算法的核心。
公式:n為偏移量加密公式: f(a)=(a+n)mod 26
解密公式: f(a)=(a+26-n) mod 26
③代碼:import string
def kaisa(s, k): //定義函數(shù)接受一個(gè)字符串s和一個(gè)偏移量k
lower = string.ascii_lowercase //小寫字母
upper = string.ascii_uppercase //大寫字母
before = string.ascii_letters //無偏移的字母順序小寫+大寫
after = lowerk] + lower[k] + upper(k] + upper[:k] //偏移后的字母順序還是小寫+大寫;分別把小寫字母和大寫字母偏移后再加到一起
table = ' '.maketrans(before, after)
//創(chuàng)建映射表,before一一對(duì)應(yīng)到after中相應(yīng)位置的字符
//注意:兩個(gè)字符串的長度要一致這里的' '.maketrans()中的' '可以換成str,也可以寫成'sadwq';這里只是形式化的作用。
//要清楚函數(shù)和方法其實(shí)是不同的,函數(shù)前面不需要實(shí)例,比如len () . print (),而方法需要;這也是為什么以前寫的時(shí)候不懂什么時(shí)候前面要加變量,什么時(shí)候不要加(方法和函數(shù)是不一樣的,針對(duì)某個(gè)實(shí)例時(shí),函數(shù)就變成了方法)
return s.translate(table) //對(duì)s進(jìn)行偏移即加密
s = input("請(qǐng)輸入一個(gè)字符串:")
3.隨機(jī)生成10個(gè),六位數(shù)數(shù)字的驗(yàn)證碼,保存為其他人無法更改的格式import random
code = [random.randint(100000, 999999) for x in range(10)]
acode = tuple(code) //tuple()函數(shù)創(chuàng)建元組
print(acode)
4.隨機(jī)生成10個(gè),6位大寫字母驗(yàn)證碼import random,string
code = []
for i in range(10):
x = ' ' //x起到刷新的作用,每向列表中插入一個(gè)值以后,選出下一個(gè)值時(shí),要把上一個(gè)值清空
for j in range(6):
x = x + random.choice(string.ascii_uppercase) #random.c.haice(seq)函數(shù):從非空序列中隨機(jī)選取一個(gè)數(shù)據(jù)并返回,該序列可以是list、tuple、str、set。默認(rèn)選一個(gè)
code.append(x)
print(code)
5.隨機(jī)生成10個(gè),6位大寫字母驗(yàn)證碼,且不可重復(fù)。import random,string
code = set()
while len(code) != 10: //len ()函數(shù)可以用于求list、tuple、dict中的元素個(gè)數(shù),也可以用于求str的長度
x = ''
for i in range(6):
x = x + random.choice(string.ascii_uppercase)
code.add(x) //集合中增加元素的方法是code.add(seq)
print(code)
6.現(xiàn)有八部電影對(duì)其評(píng)分,有1-10分。
①用字典記錄下其豆瓣評(píng)分,并輸出字典films = {'肖申克的救贖':9.7, '摔跤吧!爸爸':9.0,'阿甘正傳':9.5,'我和我的祖國':8.0,'哪吒之魔童降世':8.5, '千與千尋':9.3,'瘋狂動(dòng)物城':9.2,'攀登者':6.5}
print(films)
②現(xiàn)又新出了兩部影片及其評(píng)分(中國機(jī)長: 7.0,銀河補(bǔ)習(xí)班: 6.2),將此影評(píng)加入1)中的字典中,同時(shí)輸出字典中所有的影片名稱。films_new = {'中國機(jī)長':7.0,'銀河補(bǔ)習(xí)班':6.2}
films.update(films_new) #字典中元素的插入 dict.update()函數(shù)
print("所有影片名稱: ", films.keys())
③ 找出②中的字典中影評(píng)得分最高的影片。③print("影片得分最高的影片: ", max(films,key=films.get)) //max(seq,key=None)函數(shù)的用法。dict.get(key)返回指定鍵的值
//所以max(films,key=films.get))返回films字典中最大值的鍵
總結(jié)
以上是生活随笔為你收集整理的python实验收获_python实验课代码心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python邮件添加附件_如何向电子邮件
- 下一篇: 开发web前端_移动前端开发和web前端
