• 需求

    • 输入一串字符
    • 如果碰到小写或大写字母,进行转换,a——z,b——y,c——x,大写字母也是
    • 如果是其他字符,就按原样输出
  • 判断逻辑
    • 小写字母  cond_a_z
    • 大写字母  cond_A_Z
    • 既不是小写,也不是大写  else
  • 具体的判断,比如小写字母:(大写也类似)
    • offset_a  输入的字符跟a的距离,那么(倒退回来的那个跟z的距离 == 输入的字符跟a的距离),尤其可以得到,最终的那个字符的位置 offset_z
    • offset_z  最终转换的字符的ASCII码
    • char_transfer  通过chr,转换得到最终的字符
  • content_output = ''.join(text_output)    # 转换格式,如果直接输出text_output,会得到:['z', 'y', 'x', '_', '3', '4', '9', '=', '_', 'C', 'B', 'A'],而不是:zyx_349=_CBA
  • 代码如下
     1 #coding:utf-8
     2 #__author__ = 'Diva'
     3 # 测试案例 abc_349=_XYZ
     4
     5 # var
     6 CHAR_a = ord('a')
     7 CHAR_z = ord('z')
     8 CHAR_A = ord('A')
     9 CHAR_Z = ord('Z')
    10
    11 # func
    12 def fun(text_input):
    13     text_output = []
    14     if len(text_input) < 1:
    15         return False
    16
    17     for k in range(len(text_input)):
    18         char = text_input[k]
    19         char_ascii = ord(char)
    20         cond_a_z = (char_ascii) >= CHAR_a and char_ascii <= CHAR_z  # 小写字母情况
    21         cond_A_Z = (char_ascii) >= CHAR_A and char_ascii <= CHAR_Z  # 大写字母情况
    22
    23         if cond_a_z:
    24             offset_a = char_ascii - CHAR_a
    25             offset_z = CHAR_z - offset_a
    26             char_transfer = chr(offset_z)
    27             text_output.append(char_transfer)
    28         elif cond_A_Z:
    29             offset_A = char_ascii - CHAR_A
    30             offset_Z = CHAR_Z - offset_A
    31             char_transfer = chr(offset_Z)
    32             text_output.append(char_transfer)
    33         else:
    34             text_output.append(char)
    35         content_output = ''.join(text_output)    # 转换格式
    36
    37     print('输入的密文是:' + str(text_input))      # 必须加str,将list转换为str,否则报错,+只能链接同类型
    38     print('转换得到的明文是:' + str(content_output))
    39
    40 # main
    41 if __name__ == '__main__':
    42     cipher_text = raw_input('请输入你要转换的密文:')
    43     fun(cipher_text)

  • 测试结果

转载于:https://www.cnblogs.com/divablogs/p/7509264.html

Python 密文转换为明文相关推荐

  1. 将Python字符串转换为Int,将Int转换为String

    In this tutorial, we will learn how to convert python String to int and int to String in python. In ...

  2. Python字符串转换为小写字母– str.lower()

    We can convert a string to lowercase in Python using str.lower() function. In this short tutorial, w ...

  3. 将python代码转换为flowchart代码

    将python代码转换为flowchart代码 慢慢来,报错莫着急 将python代码转换为flowchart代码 问题描述及原因明细 提示:这里除了遇到的问题还有解决方案 报错:UnicodeDec ...

  4. 如何将Python脚本转换为exe,双击exe自动执行Python脚本功能

    前言 本文是该专栏的第8篇,后面会持续分享python的各种干货知识,值得关注. 相信很多同学在工作上,或多或少遇到过这样的需求,如下: 需要你使用python开发一个功能(如爬虫,或者数据分析,又或 ...

  5. Python图片转换为PDF

    Python图片转换为PDF 这是一个用于将图片转换为PDF文档的函数集,几乎所有的步骤的目的在代码中均有详细的注释,在此不做过多阐述. 点此返回笔记目录. # coding = UTF-8# 导入P ...

  6. 有没有一个在线工具可以将Python代码转换为Java代码?

    Python和Java是软件开发行业中广泛使用的两种编程语言.两者都有自己的优点和缺点,适用于不同类型的项目.Python以其易用性和可读性而闻名,而Java以其健壮性和性能而闻名. Python和J ...

  7. Python 八进制转换为十进制代码

    Python 八进制转换为十进制的代码示例,包括了程序分析和程序源代码,分享源代码如下: #整数版 from functools import reduce n=[int(x) for x in in ...

  8. python 对象转换为json_Python Python对象转换成JSON

    1.从Python对象转换成JSON 如果有Python对象,则可以使用json.dumps()方法将其转换为JSON字符串. 例如: 从Python对象转换为JSON:import json # a ...

  9. python密码密文转换_浅论Python密文输入密码的方法

    近来做作业(老男孩那个9.9元的训练营)我想写一个装逼点的密文输入密码,类似于: 这个东西我先前实现过,忘了获取一个字节的方法是什么,于是去网上找,发现网上的实现方式大部分都有问题. 一.网上(百度) ...

最新文章

  1. java is not a enclosing class_Java Class getEnclosingClass()用法及代码示例
  2. java 头尾 队列_记一次腾讯面试,我挂在了最熟悉不过的队列上
  3. 【视频课】完备理论+4大案例实践,一课深入掌握图像分类各个方向,配套导师永久答疑群...
  4. 技术名词API/SDK/DLL的非技术层面理解
  5. Strom+Kafka + redis实时计算单词出现频率的案例
  6. 【Linux】一步一步学Linux——split命令(59)
  7. 【leetcode】109. Convert Sorted List to Binary Search Tree
  8. wxpython图形编程_wxpython  图像编程
  9. Unable to install pirate
  10. 滤波 放电速度比充电慢 模电
  11. 备案域名绑定服务器后 提示需要备案_小程序开发需要多少钱?
  12. Android应用开发提高篇(2)-----文本朗读TTS(TextToSpeech)
  13. 我的开源项目:JPEG分析器
  14. pycharm git OpenSSL SSL_read: Connection was reset, errno 10054
  15. [好惆怅啊]TCL编码转换的问题
  16. 手把手教你做关键词匹配项目(搜索引擎)---- 第十一天
  17. 通用预处理器宏assert()的用法
  18. 春节面对亲友盘问:有对象了吗?月薪5万码农这样回答
  19. matlab cplex使用
  20. 如何(不开百度会员进行下载提速)合作双赢之路

热门文章

  1. 正整数和小数的正则写成自定义插件
  2. 传统认知PK网络认知 刚子扯谈烤串认知
  3. PHP实现9x9乘法表
  4. [转]如何使用 DirectX 診斷工具判斷 DirectX 的版本
  5. 零基础带你学习MySQL—日期函数(十五)
  6. 用js代码判断质数_在 JS 中判断,并不是都要用 ===
  7. 昨天面试了两个小姑娘,都是项目助理职位
  8. 现在生意不是能不能干的问题
  9. 盘点劳务公司和中介所的那些黑心套路
  10. 如何看待不会写代码的架构师?