跳至内容
Python 俱乐部
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
challenge:1
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== Python Challenge 第一关:简单加密 ====== ===== 题目 ===== 同样,题目给出了一幅图片和一段话,明显那一段话是经过加密的。 题目原文:http://www.pythonchallenge.com/pc/def/map.html {{:challenge:python-challenge-1-map.jpg| Python Challenge 第一关:简单加密 }} 文字说明: 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. ===== 解答 ===== 根据图片可以得到,这个简单的加密算法是将字符根据字符表的顺序后移两个。 <code> K -> M O -> Q E -> G </code> 根据这样的算法,可以给吃一个直观的函数: <code python> #! /tools/cfr/bin/python import string def convert(enstr): newstr = "" for i in enstr: if ord(i) >= ord('a') and ord(i) <= ord('z') : n = ord(i) + 2 if n > ord('z'): n = n - ord('z') + ord('a') -1 newstr += chr(n) else: newstr += i return newstr if __name__ == "__main__": enstr = "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. " newstr = convert(enstr) print newstr </code> 可以得到加密文字解密的结果: <code> i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url. </code> 解密出来文字的意思就是对url进行一遍这个操作。 那么很容易的,这关的 url 是 map.html,进行如下的变换: <code> m -> o a -> c p -> r </code> 那么下一关的url就是ocr.html。 * http://www.pythonchallenge.com/pc/def/ocr.html
challenge/1.txt
· 最后更改: 2017/03/31 05:28 由
admin
页面工具
显示页面
修订记录
反向链接
回到顶部