凯撒密码项目问题

Issue with Caesar cypher project

我正在 Python 为我的学校作业制作一个凯撒密码项目,我已经完成了基础,但我对如何向前移动一个字母感到困惑。推荐什么方法?

def encrypt(word):
    # Somehow move one letter forward.

secret_word = encrypt(input("Enter word: "))
print(secret_word)

您可以使用 Python 中称为 ord 的东西来获取整数值并将其加一。 这是解决方案:

def encrypt(word):
    encrypted = ""
    for letter in word:
        encrypted += chr(ord(letter) + 1)

    return encrypted

如果你想要ord的倒数,那么你可以使用chr。 这将是解密函数:

def decrypt(word):
    decrypted = ""
    for letter in word:
        decrypted += chr(ord(letter) - 1)

    return decrypted

仅供参考,当在 ord 函数中使用像“a”这样的字母时,它 returns 97,如果我们要在“a”上使用 decrypt 方法",那么它将 return " ` " 这没有用,但您可以添加一个简单的 if 语句来修复此问题。