题解 | #字符串加密#

字符串加密

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

import sys

def do(secret, context):
    l_secret = []
    l_small = []
    result = []
# 原始密钥去重
    for c in secret:
        if c not in l_secret:
            l_secret.append(c)
# 生成小写字母表
    l_small = [ chr(ord('a')+i) for i in range(26)]
# 生成新密钥
    for c in l_small:
        if c not in l_secret:
            l_secret.append(c)
# 生成密钥对照字典
    d_secret = dict(zip(l_small, l_secret))
    # print('{}'.format(d_secret))
# 去对照
    for c in context:
        if c in d_secret.keys():
            if ord(c) >= ord('a') and ord(c) <= ord('z'):
                result.append(d_secret[c])
            elif ord(c) >= ord('A') and ord(c) <= ord('Z'):
                result.append(d_secret[c].upper())
        else:
            result.append(c)
    return ''.join(result)


if __name__ == '__main__':
    secret = sys.stdin.readline().strip()
    context = sys.stdin.readline().strip()
    result = do(secret, context)
    print(result)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务