【凯撒密码解密】Python

本文介绍了一种基于凯撒密码的解密方法,通过将每个字母向前移动三个位置来还原加密文本。程序实现了对大小写字母的处理,并保持非字母字符不变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【凯撒密码解密】首先接收用户输入的加密文本,然后对字母a-z和字母A-Z按照密码算法进行反向转换,同时输出。(加密的密码算法:将信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即原文字符A将被替换为D、原文字符B将被替换为E、原文字符C将被替换为F,以此类推,本题要求根据此密码算法实现反向转换,比如用户输入密文:Wklv lv dq hafhoohqw Sbwkrq errn.程序输出:This is an excellent Python book.)

etxt = input("请输入加密后文本: ")
print("请输出解密后文本: ")
for p in etxt:
    if "a" <= p <= "z":
        print(chr(ord("a")+(ord(p)-ord("a")-3)%26), end='')
    elif "A" <= p <= "Z":
        print(chr(ord("A")+(ord(p)-ord("A")-3)%26), end='')
    else:
        print(p, end='')

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值

这道题就是26个字母向后对应3位
A->D
B->E
C->F

W->Z
X->A
Y->B
Z->C

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值