python之信息加密题目详解

yipeiwu_com5年前Python基础

1.贴题

题目来自PythonTip

信息加密

给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。

例如a=”cagy”, b=3,

则输出 :fdjb

2.说明

考察点

  1. 英文字母与数字的转换
  2. 如果超过z的处理

3.参考代码

c = "" #定义空字符串c用于存放加密后的字符串
for j in a: #遍历字符串a中的每一个英文小写字母
if ord(j)+b < 124: #判断加密后是否不超过z
c += chr(ord(j)+b) #如果不超过则直接添加
else:
c += chr(ord(j)+b-26) #否则添加回到开头的字母
print(c) #打印加密后的字符串

4.其他写法

1.取余法

print ''.join([chr(ord('a')+(ord(x)+3-ord('a'))%26) for x in a])

2.构造法

def conve(a,b):
low_set='abcdefghijklmnopqrstuvwxyz'*2
res=''
for x in a:
res+=low_set[low_set.index(x)+b]
return res
a=conve(a,b)
print a

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django Rest framework频率原理与限制

Django Rest framework频率原理与限制

前言 开发平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用. DRF就为我们提供了一些频率限制的方法. DRF中的版本、认证、权限、频率组件的源码是一个流程,且...

Python黑魔法@property装饰器的使用技巧解析

@property有什么用呢?表面看来,就是将一个方法用属性的方式来访问. 上代码,代码最清晰了. class Circle(object): def __init__...

解决Django删除migrations文件夹中的文件后出现的异常问题

migrate文件记录了每一次数据迁移的改变 解决方法:重建数据库 1.删除数据库 错误方法: python manage.py shell from app.models impo...

python自动查询12306余票并发送邮箱提醒脚本

python自动查询12306余票并发送邮箱提醒脚本

由于车票难抢,有时需要的车票已经售空,而我们需要捡漏,便可使用这个脚本。 具体实现了,自动查询某一车票的余票数量,当数量产生变化时,将自动发送QQ邮件到对于的邮箱进行提醒。 其中,发送邮...

举例区分Python中的浅复制与深复制

copy模块用于对象的拷贝操作。该模块非常简单,只提供了两个主要的方法: copy.copy 与 copy.deepcopy ,分别表示浅复制与深复制。什么是浅复制,什么是深复制,网上有...