Python 簡明教程 --- 6,Python 控制流

微信公衆號:碼農充電站pro
我的主頁:https://codeshellme.github.iohtml

Talk is cheap, show me the code.
—— Linus Torvaldspython

目錄git

在這裏插入圖片描述

控制流用來控制程序的處理流程,即當程序知足或不知足某一條件時,讓程序去作哪些事情。github

控制流語句使得咱們能夠處理豐富的代碼邏輯。shell

基本的控制流語句有三種,分別是:微信

  • if 條件語句
  • for 循環語句
  • while 循環語句

1,if 條件語句

if 語句用於判斷一個條件,當條件爲True 時,執行一段代碼,當條件爲False 時,執行另外一段代碼。code

if 語句有三種結構:htm

  • 沒有分支
  • 一個分支
  • 多個分支

分支內要執行的語句,須要有縮進,每一個條件後邊要有冒號:,以下:blog

# 沒有分支
if 條件:
    # 條件爲True 時要執行的語句
    ...

# 一個分支
if 條件:
    # 條件爲True 時要執行的語句
    ...
else:
    # 條件爲False 時要執行的語句
    ...

# 多個分支
if 條件1:
    # 條件1 爲True 時要執行的語句
    ...
elif 條件2:
    # 條件2 爲True 時要執行的語句
    ...
elif 條件3:
    # 條件3 爲True 時要執行的語句
    ...
else:
   # 條件1,條件2,條件3 都爲False 時要執行的語句
    ...

多分支語句時,若是有多個條件都爲True,則只會執行第一個條件爲True 內的語句,其它條件爲True 內的語句不會執行。教程

好比上面的多分支if 語句中:

  • 若是條件1條件2條件3都爲True,則只會執行條件1 內的語句。
  • 若是條件1False條件2條件3都爲True,則只會執行條件2 內的語句。

if 語句後邊的條件,可帶括號(),可不帶括號(),以下是帶括號的:

# 帶括號的if 語句
if (條件):
    ...

if 語句嵌套

if 語句中還能夠嵌套if 語句,下面是一個簡單的if 嵌套語句結構:

if 條件1:
    ...
    if 條件2:
       ...
       
    ...

示例,根據分數判斷等級

scores = ...	# 分數
grade = None    # 等級

if scores > 90:
    # 分數大於90 時,等級爲優秀
    grade = '優秀'
    
elif scores > 80:
    # 分數大於80 時,等級爲良好
    grade = '良好'
    
elif scores > 60:
    # 分數大於60 時,等級爲及格
    grade = '及格'
    
else:
    # 不然,等級爲不及格
    grade = '不及格'

2,for 循環語句

Python 中的for 循環不一樣於C/C++Java 中的for 循環。

Python 中的for 語句其實是for...in 語句,一般用於遍歷一個序列,序列後邊要有一個冒號:

說明:
一個字符串,一個列表,都是一個序列。
字符串列表,在後續章節會詳細介紹。

遍歷列表:

# l 是一個列表
l = [1, 2, 3]

# 遍歷列表
for i in l: 
	# i 是列表中的每一個元素
    print(i)

其輸出結果爲:

1
2
3

遍歷字符串:

# s 是一個字符串
s = 'abc'

# 遍歷字符串中的字符
for i in s:
    print(i)

其輸出結果爲:

a
b
c

for 循環中的else

for 循環中也能夠有一個else 語句,在for 循環執行完以後,會在最後執行else 語句:

# l 是一個列表
l = [1, 2, 3]

# 遍歷列表
for i in l: 
	# i 是列表中的每一個元素
    print(i)
else:
    print('for 循環執行結束')

其輸出結果以下:

1
2
3
for 循環執行結束

for 循環的執行過程當中遇到break 語句,else 語句則不會被執行:

l = [1, 2, 3]
for i in l:
    print(i)

    if i == 3: 
        # 當i 爲3 時,會執行 break
        break
else:
    print('for 循環執行結束')

該段代碼在執行到i3 時,會執行到break 語句,break 語句會跳出for 循環,else 語句也是for 循環的一部分,因此,else 中的語句不會被執行到。

其輸出結果以下:

1
2
3

注意:break 語句會在下面介紹到。

3,while 循環語句

下面是while 循環語句的語法格式,條件後邊有一個冒號:,以下:

while 條件:
    # 條件爲True 時要執行的語句
    ...
    ...

while 語句的含義是,當條件True 時,會一直執行while 循環中的代碼,直到某一時刻條件變爲了False

每次在執行while 循環體內的語句塊以前,都會判斷條件,若是條件True,則執行循環體,若是條件False,則退出循環體。

示例:

i = 3
while i > 0:
   print(i)
   i = i - 1

這段代碼的輸出結果爲:

3
2
1

i 減到0 時,i > 0False,此時while 循環結束。

while 循環中else

while 循環也與for 循環同樣,能夠有else 語句:

while 條件:
    ...
else:
    ...

無限循環

無限循環是一個特殊的循環,其條件永遠爲,以下就是一個無限循環:

while True:
    ...
    ...

只要無限循環中的語句沒有主動退出,或者遇到異常,則無限循環中的語句將永遠執行下去。

4,continue 語句

continue 語句用在for 循環和while 循環中,當遇到continue 語句時,會跳到循環的開頭執行。

示例:

i = 3
while i > 0:
    i = i - 1

    if i == 2:
        print('跳到循環開頭')
        continue
            
    print(i)

其輸出以下:

跳到循環開頭
1
0

i == 2 時,執行完print('跳到循環開頭') 後,執行continue 語句,而後跳到循環開頭執行,因此,i == 2 時,沒有執行print(i)

5,break 語句

break 語句也是用在for 循環和while 循環中,當遇到break 語句時,會跳出循環體。

示例:

i = 3
while i > 0:
    i = i - 1

    if i == 0:
        print('跳出循環')
        break
            
    print(i)

其輸出結果以下:

2
1
跳出循環

i == 0 時,執行完print('跳出循環') 後,執行break 語句,而後跳出循環,因此,i == 0 時,沒有執行print(i)

6,pass 語句

pass 語句常常在控制流中用到,pass 語句是一個空語句,不執行任何東西,只起到一個佔位的做用。

示例:

i = ...
if i == 0:
    # 作任何事情
    pass
else:
    print('i 不爲 0')

(完。)


推薦閱讀:

Python 簡明教程 --- 1,搭建Python 環境

Python 簡明教程 --- 2,第一個Python 程序

Python 簡明教程 --- 3,Python 基礎概念

Python 簡明教程 --- 4,Python 變量與基本數據類型

Python 簡明教程 --- 5,Python 表達式與運算符


歡迎關注做者公衆號,獲取更多技術乾貨。

碼農充電站pro

相關文章
相關標籤/搜索