完成下面的凯撒加密算法,将明文输出为密文(移位次数由用户决定)。函数名:Caesar_cipher(n,rawstr)。其中,n表示移位数量,rawstr表示用户输入的原文。
def Caesar_cipher(n,rawstr):
'''
本函数中,不可以使用ord,char等函数。在程序中已经给了字符列表,要求使用列表来完成置换。思路是:先判断字符串中的字符是否在列表中,如果在,则移位n,如果不在,则原样输出,请完成下列程序 '''
alpha = list('abcdefghijklmnopqrstuvwxyz')
在这里完善程序,上下文不许动
str_1 =input('请输入原文')
n = int(input('请输入你所需要移位的数值'))
cipher =Caesar_cipher(n,str_1)
print(f'移位{n}后,密文为{cipher}')
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
完成下列凯撒加密算法
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
字符串的解法:
alpha = list('abcdefghijklmnopqrstuvwxyz') def Caesar_cipher(n,str_1): alpha2 = alpha[n:]+alpha[:n] table = str.maketrans(''.join(alpha), ''.join(alpha2)) str_2 = '' for i in str_1: if i in alpha: str_2 += i.translate(table) else: str_2 += i return str_2
字典的解法:
alpha = list('abcdefghijklmnopqrstuvwxyz') def Caesar_cipher(n,str_1): alpha2 = alpha[n:]+alpha[:n] table = dict(zip(alpha,alpha2)) str_2='' for i in str_1: if i in alpha: str_2+=table[i] else: str_2+=i return str_2
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报 编辑记录微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2017-12-20 11:03在实际的信息安全领域,人们通常会使用更复杂的加密算法,如AES(高级加密标准)等。 在提供的压缩包文件中,可能包含了一个名为"156"的文件,这可能是一个源代码文件,用于演示或练习凯撒密码的实现。打开并研究这...
- 2022-12-20 06:28python萌新学习中的博客 python 凯撒加密
- 2023-07-04 03:17小oo呆的博客 Python实现凯撒密码算法
- 2024-06-26 09:58阿卡察布拉的博客 n=int(input()) t=0 for i in range(n): for j in range(n-i): print(chr(ord("A")+t),end=" ") t=t+1 print() ※1-5 jmu-python-凯撒密码加密算法 编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中...
- 2020-02-19 13:42生活就是屁颠屁颠的过的博客 仿射加密法 乘数加密法 + 凯撒加密法 = 仿射加密法 凯撒加密法:[https://blog.csdn.net/youngdianfeng/article/details/104333494] 乘数加密法下面介绍。 乘数加密法
- 2021-09-09 01:27PyCrawlFlutter Lab的博客 #对于凯撒密码加密 C=(P+3)mod 26 #字符串chr()、ord()函数的使用 s=input()#作为接收用户输入 w="" for i in s: if 'a'(ord('a')+((ord(i)-ord('a'))+3)%26) elif 'A'(ord('A')+((ord(i)-ord('A'))+3)%26) else:...
- 2020-04-28 06:00人邮异步社区的博客 但本章中的程序可以对整个文件进行加密和解密,文件的大小可以包括成千上万个字符。 本章要点 open()方法。 读、写文件。 write()、close()及read()文件对象操作方法。 os.path.exists()方法。 upper()、lower()及...
- 2023-01-07 05:53bestkasscn的博客 使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。都按照其在字母表中的顺序向后(或向前)...
- 2024-06-26 07:35无聊大侠hello world的博客 期末模拟题库 一、单项选择题 1、下列关于Python语言的特点的说法中,错误的是()...
- 2024-08-05 14:49roman_日积跬步-终至千里的博客 【python基础】python基础习题练习
- 2024-09-22 15:53学习的锅的博客 头哥实践教学平台-python程序设计-训练答案
- 2021-07-26 12:37海兰子呀的博客 恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母表序列中该字母后面的第三个字母,即循环后三位,对应关系...
- 2025-03-13 13:41不解风情的老妖怪哎的博客 Python控制语句——循环语句-for
- 2022-06-09 15:18软件编程在线接单(需要可私)的博客 凯撒密码:设想在某些情况下给朋友传递字条信息,但又不希望传递中途被第三方看懂这些信息,因此需要对字条信息进行加密处理。凯撒密码采用了替换算法对信息中的每一个英文字符循环替换为该字符后面第三个字符,对应...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司