零基礎學程式設計006:賦值語句
繼續上次的一道練習題:
如何用Python列印這篇看上去很枯燥的《複利資料表》: (1+0.01) ^ 1 = 1.01 (1+0.01) ^ 2 = 1.02 (1+0.01) ^ 3 = 1.03 ... ... (1+0.01) ^ 364 = 37.41 (1+0.01) ^ 365 = 37.78
在《零基礎學程式設計005:列印一行復利資料》裡,我們已經能夠輸出其中的第3行資料,源程式只有一行:
print( "(1+0.01) ^ 3 ", "=", 1.01**3 )
與下面這行程式碼的結果是一樣的,仔細看一下它們的區別:
print( "(1+0.01) ^", 3, "=", 1.01**3 )
如果我想輸出第100行資料,則是:
print( "(1+0.01) ^", 100, "=", 1.01**100 )
《複利資料表》共有365行,難道要這樣寫上365次?肯定不會,實際上這個print語句中,只有那個指數發生變化,從1到365,如果用引入一個變數,則每次的print語句就不需變了,原始碼變成2行:
i = 3
print( "(1+0.01) ^", i, "=", 1.01**i )
輸出第100行?就這樣:
i = 100
print( "(1+0.01) ^", i, "=", 1.01**i )
可以看到,print那一行隻字未改。現在我們還沒有學迴圈語句,但用笨辦法也可以完成任務了。只要寫上365次賦值語句,分別把 i 的值設定為1到365,再複製、貼上那行print語句365次,就可以列印複利資料表了。
更多說明:
i = 1
......
i = 365
這兩行語句就是賦值語句,幾乎所有的程式語言都類似。等號左側是變數名稱,右側是一個數值(準確地說,應該是表示式,這個先不講)。理解這個賦值語句的時候要從右向左讀,把3賦給變數i,再把100賦給變數i。此時,計算機會把記憶體中一個地方放上數值3,然後再放上100,把以前的3沖掉。
變數的名稱由字母和數字構成(下劃線也行),要以字母打頭,中間不能有空格。例如:i、Money、qq360、ALPHA、a1b2c3這些都有正確的變數名。在Python中甚至可以用漢字當變數名,例如:
申龍斌 = 1971
但我從來沒見過程式設計師這麼用,因為這種程式將來用在其它地方時很可能會有副作用,知道就行但別這樣用!
下面這行程式碼,初學者需要理解一下。
i = i + 1
從右向左讀,表示把當前 i 的值加上1之後,賦給變數 i 中,效果就是 i 增一。實際上有些程式設計師畫流程圖時,寫成這樣 i + 1 → i,容易理解一些。
總結一下要點:
- 賦值語句是最基本的一種語句
- 等號左側是變數名
- 等號右側是數值(準確地講,是表示式)
- 變數可以重新賦值
- 變數名由字母、數字、下劃線組成,字母打頭
下次講迴圈,就可以用兩行語句打印出複利資料表了。
--- END ---