题解 | #字符串加解密#

字符串加解密

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

按照题意嗯模拟就好,其中zZ9的转换问题可以考虑在正常转换过程中使用mod来普适化解决。

def EncryptPw(originalEncryptPw):
    newEncryptPw = ""
    for i in range(len(originalEncryptPw)):
        if originalEncryptPw[i].islower():
            newEncryptPw += chr(ord("A") + ((ord(originalEncryptPw[i].upper()) - ord("A") + 1) % 26))

        elif originalEncryptPw[i].isupper():
            newEncryptPw += chr(ord("a") + ((ord(originalEncryptPw[i].lower()) - ord("a") + 1) % 26))

        elif originalEncryptPw[i].isdigit():
            newEncryptPw += chr(ord("0") + ((ord(originalEncryptPw[i]) - ord("0") + 1) % 10))

        else:
            newEncryptPw += originalEncryptPw[i]

    return newEncryptPw


def DecryptPw(originalDecryptPw):
    newDecryptPw = ""
    for i in range(len(originalDecryptPw)):
        if originalDecryptPw[i].islower():
            newDecryptPw += chr(
                ord("A") + (((ord(originalDecryptPw[i].upper()) - ord("A")) - 1 + 26) % 26))

        elif originalDecryptPw[i].isupper():
            newDecryptPw += chr(
                ord("a") + (((ord(originalDecryptPw[i].lower()) - ord("a")) - 1 + 26) % 26))

        elif originalDecryptPw[i].isdigit():
            newDecryptPw += chr(ord("0") + ((ord(originalDecryptPw[i]) - ord("0") - 1 + 10) % 10))

        else:
            newDecryptPw += originalDecryptPw[i]

    return newDecryptPw


if __name__ == "__main__":
    originalEncryptPw = str(input())
    originalDecryptPw = str(input())

    print(EncryptPw(originalEncryptPw))
    print(DecryptPw(originalDecryptPw))

全部评论

相关推荐

06-20 15:23
门头沟学院 Java
难道你们背八股都不觉得累?现在每天背八股背的我想吐
想去大厂的土豆子:累不累都是对比出来的,八股可比高考、考研轻松多了
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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