6.1 if else
在 Python 中,就像許多其他編程語言一樣,指令的執行不僅可以是線性的,也可以根據某個條件來選擇性執行。這種結構稱為條件運算子。一般的條件運算子的形式如下:
if 條件:
指令1
else:
指令2
如果 條件 為真 (True
),那麼將執行
指令1,如果為假 (False
),那麼將執行
指令2。指令不會同時執行:要麼一個,要麼另一個。
重要!
子指令或指令
一定(!)要相對於 if
和 else
指令縮進四個空格。
我會在下一堂課「指令塊」中詳細介紹這一點。
例子:
|
條件 y > 5 為假,所以將執行 else 分支,程序將打印 "y 不大於 5"
|
再來一個例子:
|
如果用戶輸入的數字是 18 或更大,程序將打印「你已成年」,否則打印「去做功課」。 |
6.2 if 無 else
還有另外兩種形式的條件運算子 - 簡短以及加長。
在簡短的形式中,沒有 else
部分。
if 條件:
指令
如果條件為真,則執行指令。如果不為真,則什麼都不做 - 程序將繼續執行後面的指令(如果有的話)。
例子:
|
如果用戶輸入的數字是 21 或更大,程序將打印「這是你的啤酒」。如果小於 21,程序不會打印任何東西。 |
6.3 if elif else
加長的 if
else
形式允許將多個 if
else
運算子合併成一個。
假設你想確定一個點的座標 x
和 y
位於哪一個平面象限。可以用 if
和 else
運算子這樣做:
|
如果 x > 0 且 y > 0,將打印「第一象限」。如果 x < 0 且 y > 0,將打印「第二象限」。如果 x < 0 且 y < 0,將打印「第三象限」。如果 x > 0 且 y < 0,將打印「第四象限」。 |
由於不可以省略縮進,而代碼需要可讀性,所以設計出了一個特別的 運算子 elif
,可以將這些 if 的鏈條變得更加可讀:
if 條件1:
指令1
elif 條件2:
指令2
elif 條件N:
指令N
else:
指令Else
關鍵字 elif
是 else
if
的縮寫。而上面的例子代碼現在可以寫成:
|
如果 x > 0 且 y > 0,將打印「第一象限」。 如果 x < 0 且 y > 0,將打印「第二象限」。 如果 x < 0 且 y < 0,將打印「第三象限」。如果 x > 0 且 y < 0,將打印「第四象限」。 |
GO TO FULL VERSION