凯撒加密算法--python

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