Python挑戰遊戲( PythonChallenge)闖關之路Level- 5
時隔兩個月, 又重新回來寫部落格了
今天重新來做這個挑戰題目
首先入口地址:http://www.pythonchallenge.com/pc/def/peak.html
開啟來看, 沒錯,你沒有看錯,只有一副畫
然後畫的下面 有一句話 "pronounce it", 什麼鬼! 它的發音???
只看這個看不出來什麼意思.
那麼按照以往的經驗, 直接F12 看網頁原始碼吧
<html>
<head>
<title>peak hell</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<center>
<img src="peakhell.jpg"/>
<br><font color="#c0c0ff">
pronounce it
<br>
<peakhell src="banner.p"/>
</body>
</html>
<!-- peak hell sounds familiar ? -->
這樣明顯看到有一個檔案 banner.p, 直覺認為需要開啟它 :http://www.pythonchallenge.com/pc/def/banner.p
這樣我們看到了一個亂碼的文字檔案
接著這個原始碼下面有一句提示“peak hell sounds familiar ”! 這一句話就比較重要了
前面說他的發音, 這裡提示說, 發音和“peak hell ” 類似, 再結合python的知識, 這一關應該是要用到 pickle 這個包了(我不會告訴你我是檢視別人的)!
好了,分析工作完成,將這個檔案內容下載到本地,然後執行解析程式如下(報告老闆,他是抄的):
#!/usr/bin/python
# coding:utf-8
import pickle
f=open('1.txt')
for line in pickle.load(f):
print ''.join([x[0] * x[1] for x in line])
f.close()
然後得到了下面的結果:
##### #####
#### ####
#### ####
#### ####
#### ####
#### ####
#### ####
#### ####
### #### ### ### ##### ### ##### ### ### ####
### ## #### ####### ## ### #### ####### #### ####### ### ### ####
### ### ##### #### ### #### ##### #### ##### #### ### ### ####
### #### #### ### ### #### #### #### #### ### #### ####
### #### #### ### #### #### #### #### ### ### ####
#### #### #### ## ### #### #### #### #### #### ### ####
#### #### #### ########## #### #### #### #### ############## ####
#### #### #### ### #### #### #### #### #### #### ####
#### #### #### #### ### #### #### #### #### #### ####
### #### #### #### ### #### #### #### #### ### ####
### ## #### #### ### #### #### #### #### #### ### ## ####
### ## #### #### ########### #### #### #### #### ### ## ####
### ###### ##### ## #### ###### ########### ##### ### ######
也就是說下一關的地址是:http://www.pythonchallenge.com/pc/def/channel.html
關於它本關更多的解決方案:http://wiki.pythonchallenge.com/index.php?title=Level4:Main_Page
那現在回頭來看一下 pickle 這個包是什麼意思
百度一下,得到這樣的答案
加工資料的,可以用來存取結構化資料。舉個例子:
一個字典a = {'name':'Tom','age':22},用pickle.dump存到本地檔案,所存資料的結構就是字典,而普通的file.write寫入檔案的是字串。讀取時,pickle.load返回的是一個字典,file.read返回的是一個字串。如下程式碼:
1
2
3
4
5
6
7
|
import pickle a = { 'name' : 'Tom' , 'age' : 22 } with open ( 'text.txt' , 'wb' ) as file : pickle.dump(a, file ) with open ( 'text.txt' , 'rb' ) as file2: b = pickle.load(file2) print ( type (b)) |
得到的b的型別是字典,b和a是等價的,也就是說pickle可以把字典、列表等結構化資料存到本地檔案,讀取後返回的還是字典、列表等結構化資料。而file.write、file.read存取的物件是字串。這個叫做持久化資料存貯
這個東東看著(bu)好(ming)高(jue)大(li)上的樣子,有木有!
python的pickle模組實現了基本的資料序列和反序列化。通過pickle模組的序列化操作我們能夠將程式中執行的物件資訊儲存到檔案中去,永久儲存;通過pickle模組的反序列化操作,我們能夠從檔案中建立上一次程式儲存的物件。一些更多pickle的知識:http://blog.csdn.net/qiqiyingse/article/details/77747777
本關小結:
本關收貨最大的一點其實就是了解到了 pickle這個模組.
讓我們發散思維一下, 現在密碼那麼多,總想把他找個地方全部記下來, 那麼使用pickle的dump方法將密碼存貯起來,
等到自己忘記了, 在找回來,起碼這種方式,被別人拿到,他也不知道怎麼破解!(程式設計師的思維,哈哈哈!)
相關文章
- pythonchallenge 挑戰筆記Python筆記
- SegmentFault 思否面試闖關挑戰賽!面試
- 也許我是真的很想拿到那個遊戲機--致思否面試闖關挑戰遊戲面試
- 【Winners】SegmentFault 思否面試闖關挑戰賽中獎名單來咯!面試
- JS基礎闖關大作戰JS
- 新熱潮之下,打造雲遊戲生態的加速闖關戰遊戲
- SP!NG for Mac(益智闖關遊戲)Mac遊戲
- 【譯】闖入遊戲開發 #5:動畫遊戲開發動畫
- AI晶片的長征之路:挑戰與機遇AI晶片
- 大資料挑戰下的儲存之路大資料
- 面試闖關1面試
- 《JavaScript 闖關記》JavaScript
- 闖關提交01
- 5G時代網路安全挑戰
- 百度闖關,照見網際網路巨頭造芯之路
- 挑戰Python題解-019Python
- 氣球塔防6 for Mac(BloonsTD6 塔防闖關遊戲)Mac遊戲
- 中國數字基建的脫碳之路:資料中心與5G減碳潛力與挑戰
- 戰術競技遊戲的吃雞之路遊戲
- 《JavaScript 闖關記》之 BOMJavaScript
- 《JavaScript 闖關記》之物件JavaScript物件
- 《JavaScript 闖關記》之初探JavaScript
- 《JavaScript 闖關記》之事件JavaScript事件
- Python練手題,敢來挑戰嗎?Python
- 一人一python挑戰題解Python
- 幽冥世界鏈遊/闖關/系統開發/合成卡牌遊戲/幽冥世界遊戲玩法遊戲
- 遊戲的戰略(二)——選擇性的戰略與落地的挑戰遊戲
- Python學習之路5-字典Python
- 趣味挑戰:寫一個 2 + 2 = 5 的程式
- 快手發力小遊戲平臺,挑戰位元組?遊戲
- 挑戰系統 / 進入區域挑戰怪物
- 雲端計算的關鍵特點及挑戰
- 關於[技術挑戰-2]轉載自黑哥
- 由雲入端:一場雲端計算巨頭的闖關遊戲遊戲
- 一局被調成噩夢難度的遊戲:“紅米闖關”遊戲
- NFT幽冥世界系統技術開發/智慧合約/闖關/遊戲遊戲
- 1024 程式設計師節,我做了個闖關小遊戲!程式設計師遊戲
- 統計學知識闖關