挑战python

00 热身

http://www.pythonchallenge.com/pc/def/0.html

import math
print math.pow(2,38);
# 274877906944

01 翻译地图

http://www.pythonchallenge.com/pc/def/map.html

#!/usr/bin/python

from string import maketrans   

intab = "abcdefghijklmnopqrstuvwxyz";
outtab = "yzabcdefghijklmnopqrstuvwx";
trantab = maketrans(outtab,intab)

str = "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.";
print str.translate(trantab)

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.

02 ocr 图文扫描

http://www.pythonchallenge.com/pc/def/ocr.html
按提示打开网页源代码,注释中有一段提示:

<!--
find rare characters in the mess below:
-->

是在一堆字符里面找出一小部分字符:

import urllib
import re

def get_text(link):
    return urllib.urlopen(link).read()

src = get_text('http://www.pythonchallenge.com/pc/def/ocr.html')

text = re.compile('<!--((?:[^-]+|-[^-]|--[^>])*)-->', re.S).findall(src)[-1]

print ''.join(re.findall('[a-z]', text))

最后结果为:equality
作者在下一关中也给出了提示:http://wiki.pythonchallenge.com/index.php?title=Level2:Main_Page

03 equality

原文地址:https://www.cnblogs.com/flowerszhong/p/5175325.html