www.pythonchanlleges.com
生活随笔
收集整理的這篇文章主要介紹了
www.pythonchanlleges.com
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
0. 2**38
1. 字符串映射
s = """ g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj. """def to(c):return chr((ord(c)-ord('a') + 2) % 26+ord('a'))def tos(s):ss = ""for i in s:if i >= 'a' and i <= 'z':ss += to(i)else:ss += ireturn ssprint(tos("map"))2. 字符串去重
s="""......""" m = {} for i in s:if not i in m:m[i] = 0m[i] += 1for i in s:if m[i] == 1:print(i,end="")3. 正則表達式:三個大寫字母包圍的小寫字母
- 要正好三個
- 要把滿足條件的小寫字母連起來
4. 網絡請求+正則表達式,需要向服務器請求大約400次,中間會有一些中斷,按照服務器要求來
當中斷后,記錄下中斷前的那個數字,從那個數字接著來
因為這個游戲過于耗時(請求400次大約需要5分鐘,并且中間偶爾會請求失敗),所以參考別人的(答案為peak.html)
5. pickle用于python持久化,然后發現這是一個由空格和井號組成的字符畫
import pickle import requestss = requests.get("http://www.pythonchallenge.com/pc/def/banner.p").text x = pickle.loads(bytes(s, encoding="utf8")) print("\n".join(["".join([i[0] * i[1] for i in row]) for row in x]))6. zipfile包用于壓縮解壓縮
這個問題太含蓄了,改成y.html,有回復,但沒用
title后面有注釋zip,于是改為zip.html,有回復
改為channel.zip下載一個zip文件,查看readme,跟前面的網絡請求那道題差不多
我在想,這道題怎么考查zipfile呢?原來這道題需要獲取文件信息,將文件注釋拼接起來才能得到一個字符畫,解壓之后就無法看見壓縮的文件信息了。
import requests import zipfile import reresp = requests.get("http://www.pythonchallenge.com/pc/def/channel.zip") open("haha.zip", "wb").write(resp.content) f = zipfile.ZipFile("haha.zip") nothing = 90052 comments = "" while 1:filename = str(nothing) + ".txt"x = f.read(filename)s = str(x, "utf8")comments += str(f.getinfo(filename).comment, "utf8")print(s, comments)s = re.search("\d*$", s)if s == None:breaknothing = s.group()if len(nothing) == 0:breakprint(nothing)得到答案hockey(火箭),字符畫使用oxygen拼起來的。url實際上就是oxygen
7. 望而卻步,毫無意義
總結
以上是生活随笔為你收集整理的www.pythonchanlleges.com的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue.js权威指南----代码解释实例
- 下一篇: token的理解