# 習題 4: 變量(variable)和命名
你已經學會了 print 和算術運算。下一步你要學的是“變量”。在編程中,變量只不過是用來指代某個東西的名字。程序員通過使用變量名可以讓他們的程序讀起來更像英語。而且因為程序員的記性都不怎么地,變量名可以讓他們更容易記住程序的內容。如果他們沒有在寫程序時使用好的變量名,在下一次讀到原來寫的代碼時他們會大為頭疼的。
如果你被這章習題難住了的話,記得我們之前教過的:找到不同點、注意細節。
1. 在每一行的上面寫一行注解,給自己解釋一下這一行的作用。
1. 倒著讀你的 .py 文件。
1. 朗讀你的 .py 文件,將每個字符也朗讀出來。
<table class="highlighttable"><tbody><tr><td class="linenos"> <div class="linenodiv"> <pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16</pre> </div> </td> <td class="code"> <div class="highlight"> <pre>cars = 100
space_in_a_car = 4.0
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven
print "There are", cars, "cars available."
print "There are only", drivers, "drivers available."
print "There will be", cars_not_driven, "empty cars today."
print "We can transport", carpool_capacity, "people today."
print "We have", passengers, "to carpool today."
print "We need to put about", average_passengers_per_car, "in each car."
</pre> </div> </td> </tr></tbody></table>
Note
space_in_a_car 中的 _ 是 下劃線(underscore) 字符。你要自己學會怎樣打出這個字符來。這個符號在變量里通常被用作假想的空格,用來隔開單詞。
### 你應該看到的結果
~~~
$ python ex4.py
There are 100 cars available.
There are only 30 drivers available.
There will be 70 empty cars today.
We can transport 120.0 people today.
We have 90 to carpool today.
We need to put about 3 in each car.
$
~~~
### 加分習題
當我剛開始寫這個程序時我犯了個錯誤,python 告訴我這樣的錯誤信息:
~~~
Traceback (most recent call last):
File "ex4.py", line 8, in <module>
average_passengers_per_car = car_pool_capacity / passenger
NameError: name 'car_pool_capacity' is not defined
~~~
用你自己的話解釋一下這個錯誤信息,解釋時記得使用行號,而且要說明原因。
更多的加分習題:
1. 我在程序里用了 4.0 作為 space_in_a_car 的值,這樣做有必要嗎?如果只用 4 會有什么問題?
1. 記住 4.0 是一個“浮點數”,自己研究一下這是什么意思。
1. 在每一個變量賦值的上一行加上一行注解。
1. 記住 = 的名字是等于(equal),它的作用是為東西取名。
1. 記住 _ 是下劃線字符(underscore)。
1. 將 python 作為計算器運行起來,就跟以前一樣,不過這一次在計算過程中使用變量名來做計算,常見的變量名有 i, x, j 等等。
- 譯者前言
- 前言:笨辦法更簡單
- 習題 0: 準備工作
- 習題 1: 第一個程序
- 習題 2: 注釋和井號
- 習題 3: 數字和數學計算
- 習題 4: 變量(variable)和命名
- 習題 5: 更多的變量和打印
- 習題 6: 字符串(string)和文本
- 習題 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: 來自 Percal 25 號行星的哥頓人(Gothons)
- 習題 42: 物以類聚
- 習題 43: 你來制作一個游戲
- 習題 44: 給你的游戲打分
- 習題 45: 對象、類、以及從屬關系
- 習題 46: 一個項目骨架
- 習題 47: 自動化測試
- 習題 48: 更復雜的用戶輸入
- 習題 49: 創建句子
- 習題 50: 你的第一個網站
- 習題 51: 從瀏覽器中獲取輸入
- 習題 52: 創建你的 web 游戲
- 下一步
- 老程序員的建議