Python Challenge 第二关

第二关和第一关一样,还是一幅图和一行提示。提示说的是:

recognize the characters. maybe they are in the book, but MAYBE they are in the page source.

这就很明显了,直接查看源代码。

果然,源代码下面的注释就是要处理的内容:

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

这一行注释提示让在下面那一堆符号中间查找稀有的字母,我想先把那些很长的符号复制出来。复制了两次,由于太长加手抖均没成功。转念一想,应该自己写代码把这一部分提取出来,就不用复制那么长的内容了。

    url = 'http://www.pythonchallenge.com/pc/def/ocr.html'
    req = urllib2.Request(url)
    resp = urllib2.urlopen(req)
    page = resp.read()
    rstList = re.findall('<!--s+(%.*)-->', page, re.S)    
    ss = rstList[0]

用了个正则表达式,把这一部分注释提取了出来,然后把它赋给一个字符串变量。接着提取其中的字母,这个用列表解析就更简单了。

def getOcr(srcStr):
    return ''.join([x for x in srcStr if x.isalpha()])

把上一步得到的字符串传递给这个函数,就可以得到答案。打印出来是: equality。

按照之前一关的管理,把url中的ocr换成equality,果然就进入了第三关:http://www.pythonchallenge.com/pc/def/equality.html

原文地址:https://www.cnblogs.com/dukeleo/p/3458235.html