恺撒加密算法
Description
给定字符串s,对其中每位大小写字母(其他字符不变)替换成向后第k位的字符。如:s='Python',k=3,则P —>s,y后面有z,z后面接abc,故y—>b,以此类推,最后输出Sbwkrq。此种加密算法称为恺撒加密算法。
Input
2行,第一行字符串s(含大小写母、空格、符号及数字等),第二行整数k(k<26)。
Output
一行,加密后的字符串。
Sample Input 1
Python
3
Sample Output 1
Sbwkrq
Hint
字符串长不超过10^{4}10
4
。
Source
中学生可以这样学Python,P120例5-8
Python代码如下
import string
def kaisa(s,k):
lower=string.ascii_lowercase##小写字母
upper=string.ascii_uppercase##大写字母
before=string.ascii_letters##小写+大写
#print(lower)
#print(upper)
#print(before)
after=lower[k:]+lower[:k]+upper[k:]+upper[:k]
#print(after)
table=''.maketrans(before,after)##创建映射表
#print(table)
return s.translate(table)
s=input()
k=int(input())
print(kaisa(s,k))