链接:http://www.pythonchallenge.com/pc/def/linkedlist.html
这题主要学习urllib和re模块
import re
import urllib
urlpre = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing='
nothing = '12345'
f = open('4.txt', 'w')
for i in range(400):
response = urllib.urlopen(urlpre + nothing)
page = response.read()
response.close()
nothing = re.search(r'\d+',page)
if nothing != None:
nothing = nothing.group(0)
else:
nothing = page
print nothing
运行的很慢,最后得到:

所以第五题的答案应该是http://www.pythonchallenge.com/pc/def/peak.html
第四题给出的官方答案地址http://wiki.pythonchallenge.com/index.php?title=Level4:Main_Page
一个比较简单的版本:
#!/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 [0]
else:
# handle the divide by two line
nothing = str (int (nothing) / 2 )