首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的caeser密码只打印字符串的最后一个字母?python

Caeser密码是一种简单的替换密码,它通过将字母按照一定的偏移量进行替换来加密消息。在Python中,如果你的Caeser密码只打印字符串的最后一个字母,可能是因为你在代码中只处理了最后一个字符。

要解决这个问题,你需要遍历整个字符串,并对每个字符进行加密或解密操作。下面是一个示例代码,展示了如何实现Caeser密码的加密和解密功能:

代码语言:python
代码运行次数:0
复制
def caeser_encrypt(message, shift):
    encrypted_message = ""
    for char in message:
        if char.isalpha():
            ascii_offset = ord('a') if char.islower() else ord('A')
            encrypted_char = chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
            encrypted_message += encrypted_char
        else:
            encrypted_message += char
    return encrypted_message

def caeser_decrypt(encrypted_message, shift):
    decrypted_message = ""
    for char in encrypted_message:
        if char.isalpha():
            ascii_offset = ord('a') if char.islower() else ord('A')
            decrypted_char = chr((ord(char) - ascii_offset - shift) % 26 + ascii_offset)
            decrypted_message += decrypted_char
        else:
            decrypted_message += char
    return decrypted_message

message = "Hello, World!"
shift = 3

encrypted_message = caeser_encrypt(message, shift)
print("Encrypted message:", encrypted_message)

decrypted_message = caeser_decrypt(encrypted_message, shift)
print("Decrypted message:", decrypted_message)

在上述代码中,caeser_encrypt函数接受一个消息和一个偏移量,将消息中的每个字母按照偏移量进行加密,并返回加密后的消息。caeser_decrypt函数接受一个加密后的消息和一个偏移量,将加密后的消息中的每个字母按照偏移量进行解密,并返回解密后的消息。

这样,你就可以正确地加密和解密Caeser密码了。记得在使用Caeser密码时,要保持加密和解密时使用的偏移量一致,才能正确还原原始消息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券