python的流程語句(if while和for)

2021-08-17 03:13:53 字數 3282 閱讀 6842

與其他程式語言一樣,python也有流程語句,只有三種:if分支、while迴圈、for迴圈(注意:python沒有switch-case分支)。下面,依次介紹每種流程語句,並在最後 區別while和for迴圈的區別。

if語句分支的含義因為大家基本上都了解,就不再再次多說。

區別於其他語言的if的多重判斷: 

1、python需要使用if-elif-else結構(而不是if-elseif-else)

具體例子如下:

>>> if true:

... print("true")

... elif 2:

... print("2")

... else:

... print("else")

...true

2、python的if-else的配對(if和else的縮排格數相同則相互匹配)

>>> if 2:

... print(2)

... if 1:

... print("1")

... else:

... print("else")

...2

1

從上面的**中,可以發現else是與第乙個if相互匹配的,而在c語言中不是這樣(在c語言中,else總是與前面的最近的未匹配的if進行匹配---即最近未匹配原則),這點一定要注意(在python中,當if和else的縮排格數相同,則相互匹配)。

python中只有while迴圈,而沒有do...while迴圈,且while迴圈還可以有else語句(即while-else結構)。

區別於其他語言的while語句:

1、while有else語句(當while語句的條件變為false時,就會執行else語句)

>>> n=0

>>> while n<5:

... print("執行迴圈")

... n=n+1

... print(n)

... else:

... print("else被執行")

...執行迴圈

1執行迴圈

2執行迴圈

3執行迴圈

4執行迴圈

5else被執行

2、break語句(若執行了break語句,就會跳出while迴圈,並且不會執行else語句)

else被執行

>>> n=0

>>> while n<5:

... print("執行迴圈")

... n=n+1

... print(n)

... if n==3:

... print("if被執行")

... break

... else:

... print("else被執行")

...執行迴圈

1執行迴圈

2執行迴圈

3if被執行

3、continue語句(跳出當前迴圈,continue後的語句不再執行,進入下次迴圈)

>>> n=0

>>> while n<5:

... print("執行迴圈")

... n=n+1

... if n==3:

... print("if被執行")

... continue

... print(n)

... else:

... print("else被執行")

...執行迴圈

1執行迴圈

2執行迴圈

if被執行

執行迴圈

4執行迴圈

5else被執行

在前面的學習中,曾經仔細討論過for in迭代的問題。for迴圈迭代的必須是可迭代物件(即物件擁有__iter__()方法)。當for in在執行的過程中,會自動呼叫可迭代物件的__iter__()方法返回乙個迭代器,每迴圈一次都會呼叫迭代器的__next__()方法,返回可迭代物件的乙個元素,直到最後返回乙個異常

for迴圈序列(string、列表、元組):因為序列是有順序的,所以可以按照索引找到對應的元素。

在for迴圈中使用索引(迭代時具有索引資訊)的三種方法:

1、range(start,stop[,step])方法:range()方法用來產生乙個從start開始,元素之間隔step,一直到stop結束(但不包含stop)的列表。

>>> x="string"

>>> for y in range(len(x)):

... print(x[y])

...str

ing

2、zip()方法:將可迭代物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。--方法會返回zip物件(是乙個可迭代物件)。

>>> s=["a","b","c","d"]

>>> for x,y in zip(range(len(s)),s):

... print(x,y)

...0 a

1 b2 c

3 d

3、enumerate()方法:將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。--返回enumerate物件(是乙個可迭代物件)。

>>> s=["a","b","c","d"]

>>> for x,y in enumerate(s,1):

... print(x,y)

...1 a

2 b3 c

4 d

for迴圈字典:字典是無序的,必須按照鍵名才能找到對應的元素。

>>> x=

>>> for y in x:

... print(y)

...123

4>>> for y in x.items():

... print(y)

...(1, 2)

(2, 3)

(3, 4)

(4, 5)

>>> for y in x.keys():

... print(y)

...123

4

Python入門if語句 迴圈語句if while

score 75 if score 60 print passed score 55 if score 60 print passed else print failed score 85 if score 90 print excellent elif score 80 print good el...

python 流程語句

if 0 print false if 0 print false else print true if 0 print false elif 1 print true else print go away while 判斷條件 只有條件不成立時退出迴圈,如果條件為真,則迴圈就沒有停止的時候,成為乙...

python流程控制語句 Python流程控制語句

1 if語句 if 語句基本用法 if表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if表示式 語句塊1 else...