(基礎3) 流程控制
本節開始介紹 if 判斷式與 for 迴圈
if 判斷式
if 判斷式是一個是否執行選擇題,如下範例所示

上示中,先由使用者輸入溫度的值,並將其轉成整數型態,如果小於20,則顯示"cold",反之,顯示"hot"。
if 多重判斷式(巢狀判斷式)
下例中,顯示了多重條件下的結果

透過 elif 和 else 可以建立多重判斷式 ,and則可以建立更活用的邏輯組合。
單行條件敘述
python中並不支持「條件運算式」,但我們可以使用 if判斷式來調整。
變數 = 變數1 if 條件運算式 else 變數2
等號右邊為 if 判斷式,如果條件成立,就將變數指定成變數1的值,否則,就指定成變數2。
下例為12/24制時間轉換的範例

for 迴圈
for 迴圈是另一種流程控制,可以當作一種計步(數)器,又稱 Counting Loop,可以透過for迴圈重複執行某一段程式碼,直至計數器條件滿足。看一段範例:

for 迴圈必須透過 range()函數來執行,此函數的範圍不包括第2個參數本身,所以,1 ~ m範圍是 range(1, m+1)
執行結果如下:

range( ) 函數
for 迴圈必須透過 range( )函數來執行,以下說明range( )函數的操作方法
1. range( ) 的起始值為 0
range( 10) = 0~9
range( 5) = 0~4
2.range( )中兩個參數的控制
range( 1, 10) = 1~9
range(1, 11) = 1~10
3. ange( )中三個參數的控制
range( 1, 11, 2) = 1, 3, 5, 7, 9
range( 0, -10, -1) = 0, -1, -2, ..., -9
例如要建立1 ~ 10的奇數值


while迴圈
while迴圈 是一種隱藏式的判斷式,如果條件為真時,即繼續執行迴圈,否則停止執行,如下範例

如上所述,當step小於等於m 時,則執行程式區塊,否則停止迴圈,即讓迴圈停止的條件為 step > m。