python之信息加密题目详解

yipeiwu_com6年前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设计】。

相关文章

从0开始的Python学习014面向对象编程(推荐)

从0开始的Python学习014面向对象编程(推荐)

简介 到目前为止,我们的编程都是根据数据的函数和语句块来设计的,面向过程的编程。还有一种我们将数据和功能结合起来使用对象的形式,使用它里面的数据和方法这种方法叫做面向对象的编程。 类和对...

python安装模块如何通过setup.py安装(超简单)

python安装模块如何通过setup.py安装(超简单)

有些时候我们发现一些模块没有提供pip install 命令和安装教程 , 只提供了一个setup.py文件 , 这个时候如何安装呢? 步骤 打开cmd 到达安装目录...

在Python的Django框架中获取单个对象数据的简单方法

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: >>> Publisher.objects.get(name="Ap...

通过python实现随机交换礼物程序详解

看到了一个面试题,想了两种解法,不知道符不符合要求,记录如下: 题目:有N个人,每人备一个圣诞礼物,现需要写一个程序,随机交互礼物,要求:自己不能换到自己的礼物,用python实现。 方...

python 实现查询Neo4j多节点的多层关系

python 实现查询Neo4j多节点的多层关系

需求:查询出满足3人及3案有关系的集合 # -*- coding: utf-8 -*- from py2neo import Graph import psycopg2 # 二维数...