破译密码(10分)

题目内容:

A国情报局抓获敌国间谍一名,从间谍身上搜出了若干密电,在严刑逼供之下,间谍说出了密电加密方法:将明文电报(仅由大写字母构成)中的所有字母均替换为字母表中向后看的第n个字母,如果超过Z,则从A继续数,这样就得到了密文,比如ATTACK,向后看第2个字母,就加密为CVVCFM。

可还没等到间谍说出加密用的密钥(数字n),就被卧底开枪打死,间谍临死前在地板上画了BYE三个字母。

情报局长看着一条条密电发了愁,但机智的你已经发现,原来间谍在告诉我们,所有密电的明文都以BYE结尾!

请编写程序破译这些密电吧!

输入格式:

共一行字符串,全部由大写字母构成的密文。

输出格式:

共一行字符串,破译后的明文。

输入样例1:

JNTQZCZF

输出样例1:

IMSPYBYE

时间限制:500ms内存限制:32000kb

程序1:

s=input()
a='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for n in range(26): #穷举密钥nsecret=a[n:]+a[:n] #密钥n对应的密码表if a[secret.index(s[-1])]=='E':for t in s: #破解得到明文print(a[secret.index(t)],end='')print()break

程序2:

s=input()
a='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
#直接求出密钥n
n = a.index(s[-1])-a.index('E')
#解密计算明文
for t in s:print(a[(a.index(t)-n) % 26],end='')

程序3:

m = input()
for i in range(1,26):s = []for j in m:s.append(chr((ord(j)-65+i)%26+65))newstr = ''.join(s)if 'BYE' in newstr:print(newstr)

python-破译密码相关推荐

  1. 趣味课堂之使用Python破译密码

    python破解WiFi密码 刚下课,就有一群学生跑来问我.老师,我们刚刚学习了加密与解密.你能破译WiFi密码吗?面对突如其来的问题,我没有回答,而是默默坐到了机房的最角落里,打开了python开发 ...

  2. 技术流 | 手把手教你用Python设计一个命令行界面

    作者 | Yannick Wolff 译者 | 刘旭坤 整理 | Jane 出品 | Python大本营 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰. ...

  3. python界面设计-手把手教你用Python设计一个简单的命令行界面

    原标题:手把手教你用Python设计一个简单的命令行界面 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰.今天,我们就来教大家如何设计功能完整的 Pyth ...

  4. python机器语言直接用二进制代码表达指令_尔雅慕课搜题app,超星尔雅考试搜题,超星慕课查题app,学堂云搜题...

    尔雅慕课搜题app,超星尔雅考试搜题,超星慕课查题app,学堂云搜题 更多相关问题 [判断题]网络促销的作用主要是促进销售. (5.0分) [填空题]企业在进行网络营销时必不可少的促销方式和手段是( ...

  5. Python密码库Cryptography探究学习

    一.简介 Cryptography的目标是建立一个标准Python加密库,支持 Python 2.6-2.7, Python 3.3+, and PyPy 2.6+.如果对密码学领域感兴趣的话,可以学 ...

  6. Python每日一学 03——计算半径为r的圆的面积

    Python每日一学 03--计算半径为r的圆的面积 文章目录 Python每日一学 03--计算半径为r的圆的面积 一.计算半径为r的圆的面积 二.按IPO模式解决 三. 输入转数值 四.精度问题 ...

  7. AES加密解密的基本原理与Python爬取AES加密接口

    大家好,我是小小明,今天我要带大家学习AES加密的基本原理,并爬取一个经过AES加密的接口.一起来学习吧! AES编码解码基础 AES简介 AES(Advanced Encryption Standa ...

  8. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  9. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  10. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

最新文章

  1. AI换脸技术再创新高度,DeepMind发布的VQ-VAE二代算法有多厉害?
  2. pandas.Series.values 将Series内的数值以ndarray或ndarray-like的形式返回,取决于原Seires的数据类型
  3. Java多线程之Synchronized和Lock的区别
  4. linux查找并删除进程,linux中查找并kill一个名为server的进程
  5. strcpy,memcpy,memset函数实现
  6. python中类里self_Python类中的self到底是干啥的
  7. C#数据库事务机制及实践(下)
  8. 麒麟信安:“一云多芯”信创云桌面解决方案引领者
  9. 抢饭碗?这位 05 后开发三款小程序!
  10. C++ string类不能像C字符串能靠在i位赋值为‘\0’来截断
  11. ubuntu 设置静态路由_Linux route 配置静态路由(转载)
  12. 问卷及量表统计与SPSS实战
  13. adb 连接某个wifi_Android中如何使用WIFI来连接ADB
  14. SQL1005N 数据库别名 ECM 已存在于本地数据库目录或系统数据库目录中。
  15. SuSe Linux防火墙配置指定IP或IP段可访问
  16. 【Prism】MEF版Commanding
  17. Qt5编译使用QFtp
  18. 电 脑 小 知 识 荟萃
  19. UML建模、数据库设计和UI设计工具
  20. 妮娜·杜波夫Nina Dobrev

热门文章

  1. php echo字符串连接符逗号,和句号.的区别,使用实例
  2. web项目的中英文切换功
  3. 航拍深圳湾体育中心全景
  4. 磁盘配额超出 linux,Linux磁盘配额应用
  5. 前端开发入门到实战:纯CSS实现数据上报和HTML验证
  6. 最常用的计算机色彩表示方法——RGB模式与CMYK模式
  7. dell计算机运行慢怎么解决方法,戴尔笔记本电脑运行速度慢怎么办?
  8. 如何用ps做计算机科学系的logo,PS教你制作一个精致的大众汽车LOGO图文教程
  9. 让刷Q币者对爱机你无从下手
  10. 网页刷新对服务器,刷新web服务器