Python二级考试 _P57_凯撒密码1

本文介绍了Python中实现凯撒密码的练习,包括对英文大小写字母进行加3操作,数字保持不变,并详细解释了代码逻辑。通过for循环遍历输入的文本,使用ord()和chr()函数进行字符编码转换,结合模运算实现密码加密。同时,文章还回顾了Python中的for循环和模运算知识点。
摘要由CSDN通过智能技术生成

练习一:

#凯撒密码练习

ptxt = input("请输入英文明文:")
for p in ptxt:
    if "a" <= p <= "z":
        print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end="")  #(详见注释1)
    elif "A" <=p <= "Z":
        print(chr(ord("A")+(ord(p)-ord("A")+3)%26),end="")
        
    else:
        print(p,end="")

#注释1

# ord(p)-ord("a") 算出原文字母p和a之见的Unicode码差值,也代表,字母P是第26个字母正数第几个
# ord(p)-ord("a")+3 算出原文字母p和a之见的Unicode码差值+3=字母p对应的密码字母是26个字母钟中正数第几个
# (ord(p)-ord("a")+3)%26  加上%26,即模运算,算出密码字母在是26个字母钟中正数第几个(这步也可以省略)
#print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end=""), 挨个字母打印出来

练习二:(运算结果和练习一相等)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值