The questions is: One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
I wrote this code and get an answer. I thougt it would be correct, but it doesn’t work. Can anybody help me? My answer: KWGtIDC
import urllib, sys, string
from string import maketrans
bbb = 0
f = urllib.urlopen("http://www.pythonchallenge.com/pc/def/equality.html")
while 1:
buf = f.read(200000)
if not len(buf):
break
for x in range(len(buf)):
if buf[x] in string.ascii_lowercase:
if buf[x+1] in string.ascii_uppercase:
if buf[x-1] in string.ascii_uppercase:
if buf[x+2] in string.ascii_uppercase:
if buf[x-2] in string.ascii_uppercase:
if buf[x+3] in string.ascii_uppercase:
if buf[x-3] in string.ascii_uppercase:
if buf[x+4] in string.ascii_lowercase:
if buf[x-4] in string.ascii_lowercase:
bbb = x
sys.stdout.write(buf)
print(buf[bbb-3:bbb+4])
A couple of points:
You need to operate on the comment block in the source of the html page, not the entire page itself. I’m not sure if the rest of the page makes a difference, but still. I’d copy the comment block to another file locally, and go from there.
The title of the page is “re”. Does that ring any bells?
There may be more than one occurrence of the pattern that fits your requirement, and your program overwrites it each time
bbb = x. You need all of them, IIRC.