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 的字符上。

结果如下:

完美!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值