问题描述:凯撒加密算法,是指把原始字符串中的每个英文字母都使用在他字母表中后面第k个字母进行替换。
基本思路:把小写字母和大写字母分别循环左移k位,然后根据循环位移之前,之后的字符串构造映射表,最后使用这个映射表对给定的字符串进行替换。
import string
def kaisa(s,k):
lower=string.ascii_lowercase
upper=string.ascii_uppercase
before=string.ascii_letters
after=lower[k:]+lower[:k]+upper[k:]+upper[:k]
table="".maketrans(before,after)#创建映射表
return s.translate(table)
s="Python is a great programming language. i like it"
a=kaisa(s,3)
print(a)Sbwkrq lv d juhdw surjudpplqj odqjxdjh. l olnh lw
重点是加密规则:利用maketrans()影射,编译了一套规则。translate()按照规则进行转化。
利用切片进行加密。
版权声明:本文为m0_59882269原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。