在交互状态下格式化打印
①注意看 % 和 {} 格式化打印的区别,将它们与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,也可以写成's