题解 | #字符串加解密#

字符串加解密

https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

import sys
import string

string_lower_list = list(string.ascii_lowercase)
string_upper_list = list(string.ascii_uppercase)
nums_list = [str(each) for each in range(0, 10)]


def encry_str(word):
    res = []
    for each in word:
        if each in string_lower_list:
            container = string_lower_list
        elif each in string_upper_list:
            container = string_upper_list
        else:
            container = nums_list

        if container.index(each) == len(container) - 1:
            want = container[0]
        else:
            want = container[container.index(each) + 1]

        if want in string_lower_list:
            res.append(want.upper())
        elif want in string_upper_list:
            res.append(want.lower())
        else:
            res.append(want)
    return "".join(res)


def deencry_str(word):
    res = []
    for each in word:
        if each in string_lower_list:
            container = string_lower_list
        elif each in string_upper_list:
            container = string_upper_list
        else:
            container = nums_list

        if container.index(each) == 0:
            want = container[-1]
        else:
            want = container[container.index(each) - 1]

        if want in string_lower_list:
            res.append(want.upper())
        elif want in string_upper_list:
            res.append(want.lower())
        else:
            res.append(want)
    return "".join(res)


count = 0
for line in sys.stdin:
    if count == 0:
        encry = line.split()[0]
        res = encry_str(encry)
        print(res)
    if count == 1:
        deencry = line.split()[0]
        res = deencry_str(deencry)
        print(res)

    count += 1

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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