题解 | #字符串加解密#

字符串加解密

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

# 拆分出加密前密码 和 加密后密码
original_password = input().strip()
decrypted_password = input().strip()

# 加密
def encrypter(password):
    encrypted_result = []
    for char in password:
        if char.isalpha():
            # 检查大小写,然后反转大小写并且加1
            if char.islower():
                encrypted_result.append(chr(((ord(char) - ord('a') + 1) % 26) + ord('A')))
            else:
                encrypted_result.append(chr(((ord(char) - ord('A') + 1) % 26) + ord('a')))
        elif char.isdigit():
            # 数字 + 1
            encrypted_result.append(str((int(char) + 1) % 10))
        else:
            # 保留其他字符
            encrypted_result.append(char)
    return ''.join(encrypted_result)

# 解密
def decrypter(password):
    decrypted_result = []
    for char in password:
        if char.isalpha():
            # 检查大小写,然后反转大小写并且加1
            if char.islower():
                decrypted_result.append(chr(((ord(char) - ord('a') - 1) % 26) + ord('A')))
            else:
                decrypted_result.append(chr(((ord(char) - ord('A') - 1) % 26) + ord('a')))
        elif char.isdigit():
            # 数字 + 1
            decrypted_result.append(str((int(char) - 1) % 10))
        else:
            # 保留其他字符
            decrypted_result.append(char)
    return ''.join(decrypted_result)

# print最终结果
print(encrypter(original_password))
print(decrypter(decrypted_password))

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务