1.4.2:python將代碼分為兩類:運算式和語句
運算式和語句::
運算式(值和運算子的結合,將產生新值--返回值。如果在python shell中輸入運算式將顯示返回值。也就是說,如果x的值是2,運算式x+5的值將是7)
語句(執行一些任務,但沒有返回值。語句能執行各式各樣的任務,有些語句可能會設定程式控制語句,而有些語句可能會要求會的一些資源。語句啟動並執行結果可能會產生副作用。副作用是執行語句時所發生的一些變化。例如myint=5,這條語句沒有返回值,但確實將myint的值設定為5)
1.7.5:增強賦值運算子:捷徑
myint += 2 等價於 myint = myint + 2
myint -= 2 等價於 myint = myint - 2
myint *= 2 等價於 myint = myint * 2
myint /= 2 等價於 myint = myint / 2
(編程技巧:必須小心使用增強賦值語句。賦值號的左側必須為與某個值關聯的變數。不能通過增強賦值語句來定義變數。如果沒有myint,那麼myint = myint - 2意味著什麼呢?)
1.9:開發演算法:
演算法::一種方法(由一系列步驟組成)描述如何解決一個問題或者一類問題
解決問題的人記錄解決問題所需要做的事,稱為演算法的描述。描述可以分為多種:英語、圖表、流程圖、或任何可以用來描述的工具。在摸索出了適合自己的最佳問題解決方式之後,就可以將演算法轉化為實現演算法的代碼。
while迴圈的工作原理:
程式進入while結構,判定布林運算式的值
如果布林運算式的值為真,則執行對應的while迴圈體
迴圈體執行完後,控制語句回到布林運算式位置,重新進行判定
如果布林運算式的值為真,則迴圈執行一次。如果布林運算式的值為假,則跳過迴圈體,執行while迴圈後面的代碼。
while與for等價:
可以編寫程式,讓while迴圈像for迴圈一樣運行,然而,並非每個while迴圈都可以表示為for迴圈。以下為例:
for i in range(5):
print i
i = 0
while i <5:
print i
i+=1
for 語句更易於閱讀和理解,但是他僅僅通過迭代器在對象的元素間移動。幸運的是,在python中,有很多的對象都帶有迭代器,因此一般情況下都可以用for迴圈。
演算法:
演算法是對如何解決問題的描述。
程式是在特定類型的電腦上,用特定語言對演算法的實現。
演算法需要提供輸入和輸出的描述。也就是說,基於此輸入,產生這樣的輸出。
如果演算法是理想化的計算過程,那麼程式就是這一理想的實現過程。演算法是對問題解決方案的抽象化,這個意思上來說,程式就是實際的解決方案。因此程式具有與演算法不同的特徵(可讀性/)
代碼可讀性:難以閱讀的代碼很難得到他人有效地協助或建議。此外,這樣的代碼不太可能是安全的。計算簡史強調了這一觀點,更別提給他人閱讀了...(一個注釋、好名字(程式名 變數名)很大協助)
問題的實質:
1需要哪些輸入
2如何測試輸入是否滿足要求
3對於每個輸入,預期或者需要的輸出是什麼
4哪些輸出測試是適當的?
5如前所述,還有其他???
isdigit()函數