Python 教程 - 決策構造
在本節中,你將學習 Python 程式設計中的決策構造。最常用的決策構造是 if…else 構造。
if…else 宣告
當你有兩個語句塊並且你只想根據某些條件執行一個語句塊時,將使用 if…else 語句。在 Python 程式設計中,大多數 if…elif…else 都用作決策構造。
if 宣告
在 if 宣告中,你只有一個語句塊,並且僅當條件為 True 時才執行此塊,當條件為 False 時,將忽略該語句塊。
以下是 Python 中 if 宣告的語法:
if condition:
statement(s)
Python 中的 if 語句主體不是用大括號括起來,而是使用縮排。主體的末端由第一條不在同一個縮排水平的行來決定。
if 宣告示例
考慮以下 if 使用語句的示例:
a = 24
if a % 2 == 0:
print(a, "is an even number")
b = 23
if b % 2 == 0:
print(b, "is an odd number")
24 is an even number
在此程式碼中,首先為變數 a 分配一個值,然後評估語句中的 if 條件。它通過 % 2 來檢查 a 是否為偶數,也就是是否 a % 2 為零,然後控制是否列印出相應的語句。
然後 b 分配一個奇數 23。if 語句中的條件不是 True,因此 print(b, "is an odd number") 將不會執行。
if...else 宣告
以下是 if...else 語句的語法:
if condition:
block of statements
else:
block of statements
在 if...else 中,如果 if 條件為 True,則執行相應的語句塊,否則將執行 else 下的語句塊。
if...else 宣告示例
考慮下面 if...else 的程式碼:
a = 44
if a % 2 == 0:
print(a, "is an even number")
else:
print(a, "is an odd number")
44 is an even number
如果 a 是偶數,它將列印 a is an even number,否則將列印 a is an odd number。
注意
if 和 else 塊不能同時執行或忽略。根據條件是否執行僅執行一個程式段 True。
if...elif...else 宣告
以下是 if...elif...else 語句的語法:
if condition:
block of statements
elif condition:
block of statements
else:
block of statements
elif 代表 else if 它可以在此 if..elif..else 構造中多次使用。
當 if 條件為 False 時,將檢查 elif 條件等等。當所有的 if 條件和 elif 條件是 False 時,else 部分將被執行。
注意
if...elif...else 僅能執行一個程式段。
if...elif...else 宣告示例
考慮下面的程式碼,其中我們使用了用於檢查多個條件的 if...elif...else 語句:
a = -34
if a > 0:
print("Number is Positive")
elif a < 0:
print("Number is Negative")
else:
print("Number is zero")
Number is Negative
巢狀 if 語句
在 Python 中,你可以在 if 內部包含另一個 if 語句,這被稱為巢狀 if 語句。
你可以巢狀任何型別的 if 語句任意多次。但是在程式設計語言中使用巢狀 if 結構並不是一個好習慣,因為程式的可讀性會因此而變差。
巢狀 if 語句示例
在以下程式碼中,巢狀 if 結構用於查詢最大數量:
T = 52
if T > 25:
if T < 50:
print("Temperature is higher than 25 but lower than 50")
else:
print("Temperature is higher than 50")
else:
if T < 0:
print("Temperature is lower than 0")
else:
print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
