【python练习】恺撒加密算法

恺撒加密算法
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))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值