Pythonチャレンジ(レベル6)



Python Challenge



URI:[url] http://www.pythonchallenge.com/pc/def/channel.html [/ url]

説明:
タイトルのヒントはペアです。
ソースコードに表示される
http://www.pythonchallenge.com/pc/def/channel.zipからzipファイルをダウンロードします
(十分な変態のヒント)
zipファイルのreadme.txtを開いて確認してください
私のzipリストへようこそ。

ヒント1:90052から開始
ヒント2:答えは郵便番号の中にあります
この問題の解決策は、基本的に上記のurlを繰り返し呼び出す質問と同じだと思います。
r = re.compile(r '( d +)$')
nextnothing = '90052'

while(1):
試してください:
f = open( './ python Challenge /%s.txt'%nextnothing)
result = f.read()
f.close()
結果を印刷する
oldnextnothing = nextnothing
nextnothing = r.search(result).group()
例外:
ブレーク

実行後に最後に表示される
コメントを集める

少しかすかな、コメントが来るところ。実際、それはzipファイルにあります。この質問は、zipモジュールを使用して完了する必要があります。
インポート再
r = re.compile(r '( d +)$')

zipfileをインポートする
コメント= []
nextnothing = '90052'
f = zipfile.ZipFile( './ python Challenge / channel.zip')
while(1):
試してください:
comment.append(f.getinfo( '%s.txt'%nextnothing).comment)
nextnothing = r.search(f.read( '%s.txt'%nextnothing))。group()
例外:
印刷 '' .join(comment)
ブレーク

実行中の画面には、文字で構成される画像が表示されます。パターンがホッケーであることがわかります。
http://www.pythonchallenge.com/pc/def/hockey.htmlにアクセスします
何?まだ終わっていない!
空中にあります。手紙を見てください。
この時点で、再び目の前に表示されるホッケーの写真に注意してください。各文字のパターンは1つの文字で構成され、最終的な答えはoxygeyです。


-
解決方法:

import urllib, zipfile, re, collections

o, n, f = [], '90052', '%s.txt'
nnr = 'Next nothing is (d+)'

# Download channel.zip from http://www.pythonchallenge.com/pc/def/channel.zip

file = zipfile.ZipFile('channel.zip')

while True:
try:
n = re.search(nnr, file.read(f % n)).group(1)
except:
print file.read(f % n)
break

o.append(file.getinfo(f % n).comment)

print ''.join(o)

表面にはホッケーがあります、実際、本当の答えは酸素です

答えを渡す:
酸素