题解 | #字符串加解密#

字符串加解密

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()))

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

相关推荐

不愿透露姓名的神秘牛友
06-24 14:18
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷面很爱看电影:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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