# 練習26. 恭喜你,可以進行一次考試了
你已經完成這本書的前半部分了,不過后半部分才更有趣。你將會學習邏輯,并通過條件判斷實現有用的功能。
在你繼續學習之前,你要完成一道試題。這道試題很難,因為它需要你修正別人寫的代碼。當你成為程序員以后,你將需要經常面對別的程序員的代碼,也許還有他們的傲慢態度,他們會經常說自己的代碼是完美的。
這樣的程序員是自以為是不在乎別人的蠢貨。優秀的程序員也會認為自己的代碼總有出錯的可能,他們會先假設是自己的代碼有問題,然后用排除法清查所有可能是自己有問題的地方,最后才會得出“這是別人的錯誤”這樣的結論。
在這節練習中,你將面對一個水平糟糕的程序員,并改好他的代碼。我將習題 24 和 25 胡亂拷貝到了一個文件中,隨機地刪掉了一些字符,然后添加了一些錯誤進去。大部分的錯誤是Python在執行時會告訴你的,還有一些算術錯誤是你要自己找出來的。還有的就是格式和拼寫錯誤了。
所有這些錯誤都是程序員很容易犯的,就算有經驗的程序員也不例外。
這節練習中你的任務是用你所有的技能改進這個腳本。你可以先分析這個文件,或者你還可以把它像學期論文一樣打印出來,修正里邊的每一個缺陷,重復修正和運行的動作,直到這個腳本可以完美地運行起來。在整個過程中不要尋求幫助,如果你卡在某個地方無法進行下去,那就休息一會晚點再做。
就算你需要幾天才能完成,也不要放棄,直到完全改對為止。
最后要說的是,這個練習的目的不是寫程序,而是修正現有的程序,你需要訪問下面的網站:
~~~
http://learnpythonthehardway.org/book/exercise26.txt
~~~
從那里把代碼復制粘貼過來,命名為`1ex26.py`,這也是本書唯一一處允許你復制粘貼的地方。
## 常見問題
### Q: 我必須引用`ex25.py` 還是可以刪除對它的引用?
> 兩種都可以. 這個文件已經包含`ex25.py`的函數了,所以也可以先刪除對它的引用。
### Q: 當我修復這個腳本之后,我可以運行它嗎?
> 當然可以。計算機就是用來幫忙的,盡可能的使用它。
- 序言
- 前言
- 簡介
- 0:安裝和準備
- 1:第一個程序
- 2:注釋和“#”井號
- 3:數字和數學計算
- 4:變量和命名
- 5:更多的變量和打印
- 6:字符串和文本
- 7:更多的打印(輸出)
- 8:打印, 打印
- 9:打印, 打印, 打印
- 10:那是什么?
- 11:提問
- 12:提示別人
- 13:參數, 解包, 變量
- 14:提示和傳遞
- 15:讀文件
- 16:讀寫文件
- 17:更多文件操作
- 18:命名, 變量, 代碼, 函數
- 19:函數和變量
- 20:函數和文件
- 21:函數的返回值
- 22:到目前為止你學到了什么?
- 23:閱讀代碼
- 24:更多的練習
- 25:更多更多的練習
- 26:恭喜你,可以進行一次考試了
- 27:記住邏輯
- 28:布爾表達式
- 29:IF 語句
- 30:Else 和 If
- 31:做出決定
- 32:循環和列表
- 33:while循環
- 34:訪問列表元素
- 35:分支和函數
- 36:設計和調試
- 37:復習符號
- 38:列表操作
- 39:字典,可愛的字典
- 40:模塊, 類和對象
- 41:學會說面向對象
- 42:對象、類、以及從屬關系
- 43:基本的面向對象的分析和設計
- 44:繼承Vs.包含
- 45:你來制作一個游戲
- 46:項目骨架
- 47:自動化測試
- 48:更復雜的用戶輸入
- 49:寫代碼語句
- 50:你的第一個網站
- 51:從瀏覽器獲取輸入
- 52:開始你的web游戲
- 來自老程序員的建議
- 下一步
- 附錄A:命令行教程
- 簡介
- 安裝和準備
- 路徑, 文件夾, 名錄 (pwd)
- 如果你迷路了
- 創建一個路徑 (mkdir)
- 改變當前路徑 (cd)
- 列出當前路徑 (ls)
- 刪除路徑 (rmdir)
- 目錄切換(pushd, popd)
- 生成一個空文件(Touch, New-Item)
- 復制文件 (cp)
- 移動文件 (mv)
- 查看文件 (less, MORE)
- 輸出文件 (cat)
- 刪除文件 (rm)
- 退出命令行 (exit)
- 下一步