时间:2021-01-01 14:00:41 | 栏目:Python代码 | 点击:次
1.贴题
题目来自PythonTip
信息加密
给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a=”cagy”, b=3,
则输出 :fdjb
2.说明
考察点
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