第四章---控制語句和迴圈語句
阿新 • • 發佈:2020-10-18
目錄:
(一)條件控制
(1)if 語句
(2)if 巢狀
(二)迴圈語句
(1)while 迴圈
(2)while 迴圈使用 else 語句
(3)for 迴圈
(4)range()函式
(4.1)range(N)形式
(4.2)range(M,N)形式
(4.3)range(M,N,step)
(5)break 語句, continue 語句和pass語句
正文:
(一)條件控制
(1)if 語句
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
Python 中用elif代替了else if,所以if語句的關鍵字為:if – elif – else。
注意:
- 1、每個條件後面要使用冒號:,表示接下來是滿足條件後要執行的語句塊。
- 2、使用縮排來劃分語句塊,相同縮排數的語句在一起組成一個語句塊。
- 3、在Python中沒有switch – case語句。
#!/usr/bin/python3 age = int(input("請輸入你家狗狗的年齡: ")) print("") if age <= 0: print("你是在逗我吧!") elif age == 1: print("相當於 14 歲的人。") elifage == 2: print("相當於 22 歲的人。") elif age > 2: human = 22 + (age -2)*5 print("對應人類年齡: ", human) ### 退出提示 input("點選 enter 鍵退出")
$ python3 dog.py 請輸入你家狗狗的年齡: 1 相當於 14 歲的人。 點選 enter 鍵退出
(2)if 巢狀
在巢狀 if 語句中,可以把 if...elif...else 結構放在另外一個 if...elif...else 結構中。 if 表示式1: 語句 if表示式2: 語句 elif 表示式3: 語句 else: 語句 elif 表示式4: 語句 else: 語句
# !/usr/bin/python3 num=int(input("輸入一個數字:")) if num%2==0: if num%3==0: print ("你輸入的數字可以整除 2 和 3") else: print ("你輸入的數字可以整除 2,但不能整除 3") else: if num%3==0: print ("你輸入的數字可以整除 3,但不能整除 2") else: print ("你輸入的數字不能整除 2 和 3")
將以上程式儲存到 test_if.py 檔案中,執行後輸出結果為: $ python3 test.py 輸入一個數字:6 你輸入的數字可以整除 2 和 3
(二)迴圈語句
(1)while 迴圈
同樣需要注意冒號和縮排。另外,在 Python 中沒有 do..while 迴圈。
Python 中 while 語句的一般形式: while 判斷條件(condition): 執行語句(statements)……
#!/usr/bin/env python3 n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和為: %d" % (n,sum)) 執行結果如下: 1 到 100 之和為: 5050
(2)while 迴圈使用 else 語句
在 while … else 在條件語句為 false 時執行 else 的語句塊。 語法格式如下: while <expr>: <statement(s)> else: <additional_statement(s)>
#!/usr/bin/python3 count = 0 while count < 5: print (count, " 小於 5") count = count + 1 else: print (count, " 大於或等於 5") 執行以上指令碼,輸出結果如下: 0 小於 5 1 小於 5 2 小於 5 3 小於 5 4 小於 5 5 大於或等於 5
類似if語句的語法,如果你的while迴圈體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示: 例項 #!/usr/bin/python flag = 1 while (flag): print ('歡迎訪問菜鳥教程!') print ("Good bye!") 注意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。 執行以上指令碼,輸出結果如下: 歡迎訪問菜鳥教程! 歡迎訪問菜鳥教程! 歡迎訪問菜鳥教程! 歡迎訪問菜鳥教程! 歡迎訪問菜鳥教程! ……
(3)for 迴圈
Python for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串。
for迴圈的一般格式如下:
for <variable> in <sequence>: <statements>
else: <statements>
#!/usr/bin/python3 sites = ["Baidu", "Google","Runoob","Taobao"] for site in sites: if site == "Runoob": print("菜鳥教程!") break print("迴圈資料 " + site) else: print("沒有迴圈資料!") print("完成迴圈!") 執行指令碼後,在迴圈到 "Runoob"時會跳出迴圈體: 迴圈資料 Baidu 迴圈資料 Google 菜鳥教程! 完成迴圈!
(4)range()函式
(4.1) range(N)形式
如果你需要遍歷數字序列,可以使用內建range()函式。它會生成數列,例如: >>>for i in range(5): ... print(i) ... 0 1 2 3 4
(4.2)range(M,N)形式
你也可以使用range指定區間的值: 例項 >>>for i in range(5,9) : print(i) 5 6 7 8 >>>
(4.3)range(M,N,step)
也可以使range以指定數字開始並指定不同的增量(甚至可以是負數,有時這也叫做'步長'): 例項: >>>for i in range(0, 10, 3) : print(i) 輸出: 0 3 6 9 負數 例項: >>>for i in range(-10, -100, -30) : print(i) 輸出 -10 -40 -70 您可以結合range()和len()函式以遍歷一個序列的索引,如下所示: 例項 >>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Runoob 3 Taobao 4 QQ >>> 還可以使用range()函式來建立一個列表: 例項 >>>list(range(5)) [0, 1, 2, 3, 4] >>>
(5)break 語句, continue 語句和pass語句