题解 | #字符串加密#

字符串加密

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

while True:
    try:
        a = input()
        a = list(a)
        b = input()
        b = list(b)
        c = []
        for i in a: #去掉key中的重复
            if(i not in c):
                c.append(i)
        for i in range(ord('a'),ord('z') + 1): #a~z的顺序,若是c中没有就加到后面去 ord()为转化为ascll,chr()为还原为字符
            if(chr(i) not in c):
                c.append(chr(i))
        s = {} #建立对应加密的字典
        j = 0
        for i in range(ord('a'),ord('z')+1): #c中的字符与a~z分别对应
            s[chr(i)] = c[j]
            j = j + 1
        for i in range(len(b)): #在字典里查找对应的字符并加密
            b[i] = s[b[i]]
        print(''.join(b)) #按要求输出加密后的明文
    except:
        break

本题是输入一个key和一个待加密的明文,需要先把key去掉重复的字母,然后以az的顺序(key中没有的字母)补充到key的后面,然后按照新的key的顺序对应az来加密

华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论
j是什么作用啊
点赞 回复 分享
发布于 2022-05-10 21:51

相关推荐

Cassifa:发的字比你都多的一律视为骗子或者想白嫖压榨实习生的
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务