darkpoon 发表于 2017-4-26 12:29:50

Python Challenge (level 4)

URI: http://www.pythonchallenge.com/pc/def/linkedlist.html
说明:
按提示将linkedlist.html改成likedlist.php进入level 4
从title和图片可以看出来这题就像打水井一样,需要一遍又一遍的机械进行才能获得答案。
page source显示图片的href 后面有一个nothing=12345的调用 urllib may help. DON'T TRY ALL NOTHINGS, since it will never end. 400 times is more than enough.
调用linkedlist.php?nothing=12345得到了and the next nothing is 92512 从中得到规律,根据每次获得的nothing值来进行下次url访问。

解题方法:

#!/usr/bin/env python
import re
import urllib
url="http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="
nothing = "12345"
search = re.compile(" (\d*)$")
search_html = re.compile("\.html$")
for i in xrange(300):
print "%s: " % nothing,
line = urllib.urlopen( "%s%s" % (url,nothing) ).read()
print line
# handle the solution (last) line
if search_html.findall (line):
break
match = search.findall (line)
if match:
# next nothing
nothing = match
else:
# handle the divide by two line
nothing = str (int (nothing) / 2 )


过关答案:
peak
页: [1]
查看完整版本: Python Challenge (level 4)