题解 | #字符串加解密#

字符串加解密

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

# 处理过程
def process_data(target, isencrypt=True):
    res = []
    for item in target:
        if item.isalpha():
            if isencrypt:
                if item.islower():
                    if ord(item) ==122:
                        res.append(chr(97).upper())
                    else:
                        res.append(chr(ord(item)+1).upper())
                if item.isupper():
                    if ord(item.lower()) ==122:
                        res.append(chr(97))
                    else:
                        res.append(chr(ord(item.lower())+1))
            else:
                if item.islower():
                    if ord(item) ==97:
                        res.append(chr(122).upper())
                    else:
                        res.append(chr(ord(item)-1).upper())
                if item.isupper():
                    if ord(item.lower()) ==97:
                        res.append(chr(122))
                    else:
                        res.append(chr(ord(item.lower())-1))
        elif item.isdigit():
            if isencrypt:
                if int(item) == 9:
                    res.append('0')
                else:
                    res.append(str(int(item) + 1))
            else:
                if int(item) == 0:
                    res.append('9')
                else:
                    res.append(str(int(item) - 1))
        else:
            res.append(item)
    return ''.join(res)
# 加密
def encrypt(target):
    return process_data(target)
# 解密
def decrypt(target):
    return process_data(target, False)

print(encrypt(input()))
print(decrypt(input()))

#字符串加解密#
全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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