- 在交互状态下格式化打印
①留神看 % 和 {} 格式化打印的区别,将它们与 C 语言的格式化打印辨别开来。
2. 凯撒加密算法
①原理: 字母表一共有 26 个英文字母,加密时,咱们须要将某个明文字母做 N 位偏移失去密文,这个 N 最多为 26,而且偏移为 26 时和偏移为 0 时一样,明文和密文对应相等,实际上能够说最大的偏移量为 25,这里的偏移量是这个加密解密算法的外围。
公式:n 为偏移量
加密公式: f(a)=(a+n)mod 26
解密公式: f(a)=(a+26-n) mod 26
③代码:
import string
def kaisa(s, k): // 定义函数承受一个字符串 s 和一个偏移量 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)
// 创立映射表,before 一一对应到 after 中相应地位的字符
// 留神: 两个字符串的长度要统一这里的 ''.maketrans()中的' '能够换成 str, 也能够写成'sadwq'; 这里只是形式化的作用。// 要分明函数和办法其实是不同的,函数后面不须要实例,比方 len () . print (),而办法须要; 这也是为什么以前写的时候不懂什么时候后面要加变量,什么时候不要加(办法和函数是不一样的, 针对某个实例时,函数就变成了办法)
return s.translate(table) // 对 s 进行偏移即加密
s = input("请输出一个字符串:")
3. 随机生成 10 个,六位数数字的验证码, 保留为其他人 无奈更改 的格局
import random
code = [random.randint(100000, 999999) for x in range(10)]
acode = tuple(code) //tuple()函数创立元组
print(acode)
4. 随机生成 10 个,6 位大写字母验证码
import random,string
code = []
for i in range(10):
x = ' ' // x 起到刷新的作用,每向列表中插入一个值当前,选出下一个值时,要把上一个值清空
for j in range(6):
x = x + random.choice(string.ascii_uppercase) #random.c.haice(seq)函数: 从非空序列中随机选取一个数据并返回,该序列能够是 list、tuple、str、set。默认选一个
code.append(x)
print(code)
5. 随机生成 10 个,6 位大写字母验证码,且不可反复。
import random,string
code = set()
while len(code) != 10: //len ()函数能够用于求 list、tuple、dict 中的元素个数,也能够用于求 str 的长度
x = ''
for i in range(6):
x = x + random.choice(string.ascii_uppercase)
code.add(x) // 汇合中减少元素的办法是 code.add(seq)
print(code)
6. 现有八部电影对其评分,有 1 -10 分。
①用字典记录下其豆瓣评分,并输入字典
films = {'肖申克的救赎':9.7, '摔跤吧!爸爸':9.0,'阿甘正传':9.5,'我和我的祖国':8.0,'哪吒之魔童降世':8.5, '千与千寻':9.3,'疯狂动物城':9.2,'攀登者':6.5}
print(films)
②现又新出了两部影片及其评分(中国机长: 7.0,河汉补习班: 6.2),将此影评退出 1)中的字典中,同时输入字典中所有的影片名称。
films_new = {'中国机长':7.0,'河汉补习班':6.2}
films.update(films_new) #字典中元素的插入 dict.update()函数
print("所有影片名称:", films.keys())
③ 找出②中的字典中影评得分最高的影片。
③print("影片得分最高的影片:", max(films,key=films.get)) //max(seq,key=None)函数的用法。dict.get(key)返回指定键的值
// 所以 max(films,key=films.get))返回 films 字典中最大值的键