python challenge中的第1题目, 来自python challenge forum source = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj." 解法: import string table = string.maketrans('abcdefghijklmnopqrstuvwxyz', 'cdefghijklmnopqrstuv wxyzab') #创建一个用于替换字符串的table,相当于密码的母本 target = source.translate(table) #用母本来翻译source 字符串,得到结果 如果不想手动输入‘abcdefg...’之类的,可以使用collections模块 import collections as ct = c.deque(string.ascii_lowercase) #deque(['a', 'b', 'c', ...])
t.rotate(-2) #deque(['c', 'd', ..., 'z', 'a', 'b']) ascii_lowercase_shifted = ''.join(t) #'cdef...yzab' 之后再用string.maketrans()来实现替换。 |
|