问题描述:凯撒加密算法,是指把原始字符串中的每个英文字母都使用在他字母表中后面第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版权协议,转载请附上原文出处链接和本声明。