Python挑战(2)

收录于话题#Python挑战6个html

                           

图片


有这么一个网站“http://www.pythonchallenge.com/”,里面有33个使用python去完成的挑战,经过这些挑战能够令咱们更熟悉python。今天咱们来挑战第2关。第2关网址:http://www.pythonchallenge.com/pc/def/map.htmlpython

图片


先来看下图片和下面的文字。图片里有一本笔记本,上面写着“K→M、O→Q、E→G”。图片下面的黄色英文意思是“每个人解决这题以前会思考两次”。最下面的紫色英文则是一串乱七八糟的字母。
ide

看到这些,首先想到的是以前的Python之禅,经过字母的ascii码的偏移量去解出最终的句子。而图中的M是K的后面第二个字母,Q和G也是一样的规律,因此能够试试这个方法(代码来源于Python之禅里提到的this.py)。网站

#把句子赋值给变量ss = "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."
d = {}
for c in (65, 97):    for i in range(26):        d[chr(i+c)] = chr((i+2) % 26 + c)
print(''.join([d.get(c, c) for c in s]))


获得的结果是这样的。this

图片


意思是“我但愿你不是用手翻译它的,这就是计算机用处。用手翻译它是很是低效率的因此这句话会这么长。推荐使用string.maketrans()。如今用在url上。”。url

在网上查了一下string.maketrans()的用法。(下图来自菜鸟教程)spa

图片


通过屡次试验,原来是把url中的“map”翻译一下。。。翻译

图片


把“map”换成“ocr”就能够进入下一关了。
3d

图片

相关文章
相关标签/搜索