Python流程控制
本章介紹 python 的基礎流程控制。包括 if 條件語句、for 循環 和 while 循環語句; continue 及 break 的用法等。 基本用法與 C 和 Java 差不多,無 switch 語句。
if 語句
以下例為例,if(...) 括號內為一表達式,當為True(即成立)時,執行對應的代碼段,注意,所有條件語句后方都需加冒號 :
1 ''' 判斷用戶輸入的整數是幾位數(暫不考慮用戶輸入非整數) 2 為0 輸出 It's zero. 3 個位數 輸出 It's a number below 10 4 兩位數 輸出 It's a two-digit number 5 三位數級以上 輸出 It's digit is more than two 6 ''' 7 user_input = raw_input("Please input a number: ") # Python 2 8 # user_input = input("Please input a number: ") # Python 3 9 n = int(user_input) # 用戶輸入的類型為字符串,轉換為整數類型 10 11 if (n==0): 12 print("It's zero.") 13 elif (n<10): 14 print("It's a number below 10") 15 elif (n<100): 16 print("It's a two-digit number") 17 else: 18 print("It's digit is more than two")
可能會有零到多個 elif 部分,else 是可選的。關鍵字 “ elif ” 是 “else if ” 的縮寫,這個可以有效地避免過深的縮進。 if ... elif ... elif ... 序列於替代其它語言中的switch case語句。
for 語句
Python 中的 for 語句和 C Pascal 中的 有不同。通常的循環可能會由用戶來定義迭代步驟和中止條件(如 C ),Python 的 for 語句依據任意序列(鏈表或字符串)中的子項,按它們在序列中的順序來進行迭代。
1 # for 語句實例 2 string = "python" 3 for i in string: 4 print(i) # 字符串處理 5 list = ["l","i","s","t"] 6 for i in list: 7 print(i) # 列表處理 8 for i in range(5): 9 print(i) # range()函數,range(5) 表示 0 到 4
上述示例僅感受下 for 語句的寫法,具體的會在之后的數據結構等章節詳細闡述。
while 語句
while(...) 括號內表達式若為 True,則繼續執行代碼段;若為False,停止執行
1 # while語句實例 2 i=1 3 while(i<10): 4 print(i) 5 i += 1
需要注意錯誤代碼導致的無限循環,如:
1 i=1 2 while(i>0): 3 i += 1 4 print(i)
break 、 continue 語句
break 語句和 C 中的類似,直接跳出循環,執行循環后的語句
1 i=1 2 while(i<5): 3 if(i==3): 4 break 5 print(i) 6 i += 1
continue 語句也是從C中借鑒來的,跳出當前循環,並執行下一次循環
1 i=1 2 for i in range(1,6): 3 if(i==3): 4 continue 5 print(i)