首页 > 编程语言 >python-加密的病历单(赛氪OJ)

python-加密的病历单(赛氪OJ)

时间:2024-07-19 12:30:01浏览次数:16  
标签:加密 OJ python sum 病历 len 列表 range 小英

[题目描述]
小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。
经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)
1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec→ghf)
2. 逆序存储(abcd→dcba)
3. 大小写反转(abXY→ABxy)
输入:
一个加密的字符串。(长度小于 50 且只包含大小写字母)
输出:
输出解密后的字符串。
样例输入1
GSOOWFASOq

样例输出1
Trvdizrrvj

来源/分类(难度系数)


完整代码展示:
a=list(input())
for i in range(0,len(a)):
      if a[i].islower():
           a[i]=a[i].upper()
     else:
           a[i]=a[i].lower()
b=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c']
c=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C']
a.reverse()
d=[]
for i in range(0,len(a)):
      for j in range(0,26):
           if a[i]==b[j]:
                d.append(b[j+3])
           if a[i]==c[j]:
                d.append(c[j+3])
sum=""
for k in range(0,len(d)):
      sum+=d[k]
print(sum)

 

代码解释:
a=list(input())  ”,让用户输入需要解密的字符串,并将其储存在列表a中。
for i in range(0,len(a)):
       if a[i].islower():
             a[i]=a[i].upper()
      else:
             a[i]=a[i].lower()
 ”,依次遍历列表a中所有元素,进行加密的最后一步的逆操作
:将大写的字符替换为小写,将小写的字符替换为大写。
b=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c']
c=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C']
a.reverse()                                                    
”,建立列表b和列表c,分别用于储存a~z~c和A~Z~C的29个字符。接着进行加密操作的中间一步的逆操作:将储存已加密的字符的列表a反转。
d=[]
 for i in range(0,len(a)):
       for j in range(0,26):
             if a[i]==b[j]:
                  d.append(b[j+3])
             if a[i]==c[j]:
                  d.append(c[j+3])
”,进行加密操作的第一步的逆操作:建立个空列表d,依次遍历列表a中所有元素,并一一与列表b和列表c中所有元素进行对比:如果a[i]==b[j],则将b[j]后面三位的b[j+3]添加进列表d中;a[i]==c[j]同理。
sum=""
 for k in range(0,len(d)):
       sum+=d[k]
 print(sum)                    
 ”,遍历结束后,建立一个空字符串sum,从左至右依次连接d中所有元素。连接完成后,打印sum。


运行效果展示:

8df185e75d1d4b348704bc53e3cb14b9.jpg

f7a27f1b8ec742c38c4c245802751208.jpg 

               (声明:以上内容均为原创) 

标签:加密,OJ,python,sum,病历,len,列表,range,小英
From: https://blog.csdn.net/2401_83954530/article/details/140545729

相关文章

  • python之初识函数(函数的使用、可变长度参数*args和**kwargs、return的作用),了解函数的
    文章目录前言1、函数1.1函数的本质1.2定义函数1.3调用函数1.4深入解析函数1.5定义函数的完整语法1.5.1参数1.5.1.1参数的分类(位置、默认、关键字、可变长度)1.5.1.2参数的书写顺序1.5.2关键字:return前言本篇文章的目的是带领大家从零开始认识函数,作为函数......
  • ubuntu16.04安装python3.7
    二.安装python3.7本次python3.7使用源码安装安装环境sudoapt-getinstallzlib1g-devlibbz2-devlibssl-devlibncurses5-devlibsqlite3-dev libreadline-devtk-devlibgdbm-devlibdb-devlibpcap-devxz-utilslibexpat1-dev liblzma-devlibffi-devlibc6-dev源......
  • Python小白菜鸟从入门到精通
    前言Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版......
  • CentOS6.5yum安装Python3⛱️
    CentOS6.5yum安装Python3⛱️ 1.在CentOS6.5上通过Webtatic仓库安装Python3[root@localhost~]#rpm-Uvhhttps://mirror.webtatic.com/yum/el6/latest.rpm[root@localhost~]#yum-yinstallpython34upython34u-devel2.安装pip[root@localhost~]#yum-yi......
  • 使用Python爬虫下载视频源码
    一、引言(●ˇ∀ˇ●)在当今互联网时代,视频内容已成为人们获取信息和娱乐的重要方式。有时,我们可能希望将这些视频下载到本地,以便在没有网络的情况下观看。本文将介绍如何使用Python编写一个简单的爬虫。二、环境准备......
  • Python - Conda - 对比 conda 和 pip
    之前已经写过一篇和工具相关的文章:《工具篇:makeasparrowcmakebuildsystem》,本文继续这个话题,大家可能都用过conda和pip,但是对于他们的区别和关系,可能大家不一定很清楚,本文来尝试做一些总结。一、conda1.1简介conda是一个通用的包管理器,意思是什么语言的包都可以用它进行管......
  • 计算机毕业设计Python+Tensorflow小说推荐系统 K-means聚类推荐算法 深度学习 Kears
    2、基于物品协同过滤推荐算法2.1、基于⽤户的协同过滤算法(UserCF)该算法利⽤⽤户之间的相似性来推荐⽤户感兴趣的信息,个⼈通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的⽬的进⽽帮助别⼈筛选信息,回应不⼀定局限于特别感兴趣的,特别不感兴趣信息的纪录也相......
  • 计算机毕业设计PySpark+Django高考志愿填报推荐系统 高考预测 高考大数据分析 Hadoop
    摘要本文旨在设计与实现一个基于Spark的高考志愿填报推荐系统,旨在帮助高考生根据自身成绩和兴趣,精准推荐合适的大学和专业。系统采用大数据处理框架Spark,结合机器学习算法,实现了对高考数据的深度挖掘和分析,为考生提供科学、有效的志愿填报建议。系统捕捉考生个人特征、......
  • Python 文件操作与管理:Open函数、Json与Pickle、Os模块
    1.open函数的使用Python中的open()函数是处理文件的标准方法。它允许你打开一个文件,并对其进行读取、写入或追加操作open(file,mode,encoding)函数的格式:file:文件路径mode:打开方式(读:r写:w读完之后光标停留在最后读取的位置......
  • Python数据获取(网页视频、音频版)
    爬取数据,上一章有介绍,不懂流言私信或者评论交流即可,在Python中编写爬虫通常涉及以下几个步骤:发送HTTP请求:使用requests库向目标网站发送请求。解析网页内容:使用BeautifulSoup从HTML中解析出需要的数据。下载视频文件:使用requests下载视频文件。保存到本地:将下载的视频文件......