题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

key=input().upper()#输入key变大写
info=list(input())
a=[]#大写字母表
b=[]#简化后key
r=[]#记录换大小写的位置
dic={}
for i in range(65,91):#创建大写字母表
    a.append(chr(i))
for j in range(len(info)):#把明文变成大写并记录改变的位置
    if info[j].islower():
        r.append(j)
        info[j]=info[j].upper()
for k in key:#去掉key的重复字母
    if not k in b:
        b.append(k)
for n in range(26):#给key补上字母表
    if a[n] not in b:
        b.append(a[n])
for each in range(26):#创建字典
    dic[a[each]]=b[each]

for l in range(len(info)):#映射字典并改回原来的大小写
    info[l]=dic[info[l]]
    if l in r:
        info[l]=info[l].lower()
print(''.join(info))

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务