1.贴题
题目来自PythonTip
信息加密
给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a=”cagy”, b=3,
则输出 :fdjb
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。