Python 写 凯撒密码 第三周第四个代码

先奉上题目

Python 写 凯撒密码 第三周第四个代码

测试的结果:

Python 写 凯撒密码 第三周第四个代码

代码如下:

s = input()
t = ""
for c in s:
    if 'A'<= c <= 'Z':
        t += chr(ord('A') + (ord(c)-ord('A')+3)%26)
    elif 'a'<= c <= 'z':
        t += chr(ord('a') + (ord(c)-ord('a')+3)%26)
    else:
        t += c
print(t)

关键在于使用 ord() 与 chr() 函数

ord() 函数是将字符转为 Unicode 代码,通常为 10 进制

chr() 函数是将 Unicode 代码转换为字符,接受 10 进制、16进制(0xff)输入

由于凯撒密码要求往前挪3个排序作为加密后的字符,而考虑到XYZ,这3个字符如果仅仅往前挪,就会出现

{
|
}

这3个字符。所以题目中已经给了提示要在基础上 +3 再 mod26 ,就是对26个英文字母取余,然后添加到 a 的字符上。

结果如下:

Python 写 凯撒密码 第三周第四个代码

完美!