input命令的語法為:
變數 = input([提示字串])
input()函式會讓程式暫停,等待使用者輸入資料,使用者輸入的資料會儲存在變數中。「提示字串」是告知使用者要輸入什麼內容,輸入完後按下 Enter 就視為輸入結束。
以下為讓使用者輸入年齡的範例:
輸入完成後按下 Enter ,就會列印出結果
「if…」是 if 指令中最簡單的型態,為單向判斷式,語法如下:
if (條件式): #括號可省略
程式區塊
當條件式為「True」時,就會執行程式區塊;反之,當條件式為「False」時,就不會執行程式區塊。
舉例來說,計算 1+2+...+100 的數學題目,判斷使用者回答是否正確:
if (條件式): #括號可省略
程式區塊
else:
程式區塊
單向判斷式 if 的語法沒有很完整,若使用者輸入錯誤,並不會出現任何訊息。當條件成立或不成立時,應該都要告知使用者,此時就可以使用雙向判斷式 if...else。
延續單向判斷式的範例,將算術問題增加條件不成立時的回應:
多向判斷式是在多項條件式中選擇一個,當條件式為「True」時,就會執行相對應的程式區塊;如果所有條件都是「False」則執行 else 後的程式區塊。多向判斷式語法為:
if (條件式一): #括號可省略
程式區塊
elif (條件式二):
程式區塊
elif (條件式三):
程式區塊
.
.
.
else:
程式區塊
用成績等級來舉個例。將成績分為 A, B, C, D, F 等級,分數大於 90 為 A 級,分數介於 80-89 為 B 級,分數介於 70-79 為 C 級,分數介於 60-69 為 D 級,分數低於 60 為 F 級:
巢狀判斷式:判斷式內包含判斷式,要多少層判斷式都可以。
語法為:
if (條件式): #括號可省略
if (條件式):
程式區塊
elif (條件式):
程式區塊
elif (條件式):
程式區塊
.
.
.
else:
程式區塊
else:
程式區塊
以 BMI 為範例來練習巢狀判斷式。BMI正常範圍介於 18.5~24 (不含 24 ) 這個區間,小於 18.5 為體重過輕,大於等於 24 為過重或肥胖:
參考資料:Python初學特訓班、Python程式設計的樂趣第二版、http://depart.femh.org.tw/dietary/3opd/bmi.htm