Python 凯撒·塞弗项目的问题

Python 凯撒·塞弗项目的问题,python,caesar-cipher,Python,Caesar Cipher,我正在为我的学校作业制作一个用Python编写的Caesar cypher项目,我已经完成了基础,但我对如何向前推进一个字母感到困惑。推荐什么方法 def encrypt(word): # Somehow move one letter forward. secret_word = encrypt(input("Enter word: ")) print(secret_word) 您可以在Python中使用名为ord的东西来获取整数值并将其加一。 以下是解决方案:

我正在为我的学校作业制作一个用Python编写的Caesar cypher项目,我已经完成了基础,但我对如何向前推进一个字母感到困惑。推荐什么方法

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”的字母时,它返回
97
,如果我们在“a”上使用解密方法,那么它将返回“`”,这是不有用的,但是您可以添加一个简单的
if
语句来解决此问题。

应该注意
chr()
ord的反义词()
;它获取由
ord()
返回的代码点,并将其转换为字符串。