首页 > 代码库 > Python Challenge 3~5

Python Challenge 3~5

第3关

  ORZ,又是源代码。开启正则表达式。

from urllib import *from urllib.request import *import reres = urlopen(http://www.pythonchallenge.com/pc/def/equality.html)lis = re.findall([^A-Z][A-Z][A-Z][A-Z][a-z][A-Z][A-Z][A-Z][^A-Z], res.read().decode(), re.DOTALL)s = []for i in lis:    s.append(i[4])print(s)

  EXACTLY指不多不少正好三个大写字母,另外又是附在这个源码页。。真是坑。另外这样的小写字母有一堆,还得组成单词。

  好吧,对html还是不熟悉

学习函数:

  额差不多第二关一样。

 

第4关

  OH,终于遇到一个简单题了。

  还是访问速度比较慢,耐心点,中间过程手工处理咯——

from urllib import *from urllib.request import *import retmp = 63579while 1:    res = urlopen(http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing= + str(tmp))    print(tmp)    try:        tmp = int(res.readline().decode().split( )[-1])    except:        break

哈哈。

 

第5关

又玩了个小小的躲猫猫游戏。

源代码中有个<peakhell src="http://www.mamicode.com/banner.p"/> 提示了答案。至于peak的放音就是类似于pickle,寓意用pickle来打开文件。

一看 每个list 数字相加=95, 目测就是一张图了。

真的很有诚意的一张图片。

带着些许神秘和艺术气息。不错。

from urllib import *from urllib.request import *import pickleres = urlopen(http://www.pythonchallenge.com/pc/def/banner.p)map = pickle.load(res)for i in map:    for j in i:        for k in range(j[1]):            print(j[0], end = ‘‘)    print()

 ——————————想起我当初暴搜的景象,至今依稀脑海。

 

Python Challenge 3~5