詳解Python中的分支和循環(huán)結(jié)構(gòu)
一.條件語(yǔ)句
條件語(yǔ)句可以給定一個(gè)判斷條件,并在程序執(zhí)行過程中判斷該條件是否成立。程序根據(jù)判斷結(jié)果,執(zhí)行不同的操作,這樣就可以改變代碼的執(zhí)行順序,從而實(shí)現(xiàn)更多的功能。
Python中條件語(yǔ)句通常有if語(yǔ)句、if-else語(yǔ)句和if-elif-else語(yǔ)句。
1.if語(yǔ)句
if結(jié)構(gòu):滿足條件就執(zhí)行某個(gè)操作,不滿足就不執(zhí)行。語(yǔ)法: if 條件語(yǔ)句: 代碼段
# 如果num是奇數(shù)打印'奇數(shù)' num = 11 if num % 2 !=0: print('奇數(shù)')
運(yùn)行結(jié)果:
奇數(shù) 1
2.if-else語(yǔ)句
if-else結(jié)構(gòu):滿足條件執(zhí)行某個(gè)操作,不滿足條件的時(shí)候執(zhí)行另外一個(gè)操作。
語(yǔ)法:if
條件語(yǔ)句:
代碼段1(滿足條件要執(zhí)行的代碼)
else:
代碼段2(不滿足條件要執(zhí)行的代碼)
# 根據(jù)成績(jī)合格范圍打印'合格'或者'不合格' grade = 96 if grade >= 60: print('合格') else: print('不合格')
運(yùn)行結(jié)果:
合格 1
3.if-elif-else語(yǔ)句
if-elif-else結(jié)構(gòu):滿足不同的條件執(zhí)行不同的操作,后面的條件是在前面的條件不成立的時(shí)候進(jìn)行判斷的。
語(yǔ)法:if 條件語(yǔ)句1:
代碼段1
elif 條件語(yǔ)句2:
代碼段2
elif 條件語(yǔ)句3:
代碼段3
……
else:
代碼段N
# 根據(jù)成績(jī)合格范圍打印'優(yōu)秀(90以上)''合格(60-90)'、'不合格(60以下)' grade = 96 if grade > 90: print('優(yōu)秀') elif 60 <= grade < 90: print('合格') else: print('不合格')
運(yùn)行結(jié)果:
優(yōu)秀 1
二.循環(huán)語(yǔ)句
循環(huán)的意思是讓程序重復(fù)地執(zhí)行某些語(yǔ)句。在實(shí)際應(yīng)用中,當(dāng)碰到需要多次重復(fù)地執(zhí)行一個(gè)或多個(gè)任務(wù)時(shí),可考慮使用循環(huán)語(yǔ)句來解決。其特點(diǎn)是在給定條件成立時(shí),重復(fù)執(zhí)行某個(gè)程序段。
1.for循環(huán)
語(yǔ)法:for 變量名
in 序列:
循環(huán)體
# 循環(huán)十次hello world! for index in range(10): print(index, 'hello world!')
運(yùn)行結(jié)果:
0 hello world! 1 hello world! 2 hello world! 3 hello world! 4 hello world! 5 hello world! 6 hello world! 7 hello world! 8 hello world! 9 hello world!
注釋:range函數(shù)可以產(chǎn)生指定范圍的數(shù)字序列,配合for循環(huán)使用可以更加方便的控制for循環(huán)的循環(huán)次數(shù)。
1)range(N)---產(chǎn)生0~N-1的數(shù)字序列例如:range(3) -> 0,1,2 1)range(M,N)---產(chǎn)生M~N-1的數(shù)字序列例如:range(1,4) -> 1,2,3 1)range(M,N,step)---從M開始每隔step產(chǎn)生下一個(gè)數(shù)字,到N前一個(gè)數(shù)為止例如:range(0,4,2) -> 0,2
2.while循環(huán)
語(yǔ)法:while 條件語(yǔ)句: 循環(huán)體
num = 0 while num < 4: print('num:',num) num += 1
運(yùn)行結(jié)果:
num: 0 num: 1 num: 2 num: 3
for與while的使用情景:
使用for循環(huán)情景:1.循環(huán)次數(shù)確定的時(shí)候 2.遍歷序列使用while循環(huán)情景:1.死循環(huán) 2.循環(huán)次數(shù)不確定的時(shí)候
三.循環(huán)嵌套
在Python語(yǔ)言中是可以允許在一個(gè)循環(huán)體里面嵌入另一個(gè)循環(huán),例如for-for循環(huán),while-while循環(huán),也可以在while循環(huán)中可以嵌入for循環(huán),反之,亦行。
i = 2 while i < 10: j = 2 while j <= i / j: if not i % j: break j = j + 1 if j > i / j: print(i, " 是素?cái)?shù)") i = i + 1
運(yùn)行結(jié)果:
2 是素?cái)?shù) 3 是素?cái)?shù) 5 是素?cái)?shù) 7 是素?cái)?shù)
四.continue、break和pass以及else語(yǔ)句
1.continue語(yǔ)句
作用:是循環(huán)體中的關(guān)鍵字,用來跳過當(dāng)前循環(huán)的剩余語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán)。
for x in range(4): print(x, 'hello') if x % 2 == 0: continue print(x, 'world')
運(yùn)行結(jié)果:
0 hello 1 hello 1 world 2 hello 3 hello 3 world
2.break語(yǔ)句
作用:是循環(huán)體中的關(guān)鍵字,用來終止循環(huán)語(yǔ)句,即使循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會(huì)停止執(zhí)行循環(huán)語(yǔ)句。(如果使用嵌套循環(huán),break語(yǔ)句將停止最深層的循環(huán),并開始執(zhí)行下一行代碼。)
for x in range(4): print(x, 'hello') if x % 2 == 0: break print(x, 'world')
運(yùn)行結(jié)果:
0 1
3.pass語(yǔ)句
作用:是空語(yǔ)句,不做任何事情,一般用做占位語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性。
for x in range(4): print(x, 'hello') if x % 2 == 0: pass print(x, 'world')
運(yùn)行結(jié)果:
0 hello 0 world 1 hello 1 world 2 hello 2 world 3 hello 3 world
4.else語(yǔ)句
作用: 可以通過判斷else中代碼有沒有執(zhí)行來判斷循環(huán)有沒有遇到break。
1)完整的for循環(huán) 2)完整的while循環(huán)
for 變量 in 序列: while 條件語(yǔ)句:
循環(huán)體 循環(huán)體
else: else:
代碼段 代碼段
沒有遇到break的情景:
for x in range(4): print(x) else: print('hello')
運(yùn)行結(jié)果:
0 1 2 3 hello
遇到break的情景:
for x in range(4): print(x) break else: print('hello')
運(yùn)行結(jié)果:
0
總結(jié)
以上所述是小編給大家介紹的Python中的分支和循環(huán)結(jié)構(gòu),希望對(duì)大家有所幫助!
相關(guān)文章
實(shí)踐Python的爬蟲框架Scrapy來抓取豆瓣電影TOP250
這篇文章主要介紹了實(shí)踐Python的爬蟲框架Scrapy來抓取豆瓣電影TOP250的過程,文中的環(huán)境基于Windows操作系統(tǒng),需要的朋友可以參考下2016-01-01Python confluent kafka客戶端配置kerberos認(rèn)證流程詳解
這篇文章主要介紹了Python confluent kafka客戶端配置kerberos認(rèn)證流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Django nginx配置實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Django nginx配置實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09完美解決Pycharm無法導(dǎo)入包的問題 Unresolved reference
今天小編就為大家分享一篇完美解決Pycharm無法導(dǎo)入包的問題 Unresolved reference,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python+Selenium實(shí)現(xiàn)表單自動(dòng)填充和提交
你是不是也厭倦了每天重復(fù)表單填寫的工作,是時(shí)候讓技術(shù)來幫助我們解放雙手了,下面小編就為大家介紹一下如何使用Selenium和Python來自動(dòng)填充和提交表單2023-09-09基于PyTorch實(shí)現(xiàn)EdgeCNN的實(shí)戰(zhàn)教程
本文我們將使用PyTorch來簡(jiǎn)易實(shí)現(xiàn)一個(gè)EdgeCNN,不使用PyG庫(kù),讓新手可以理解如何PyTorch來搭建一個(gè)簡(jiǎn)易的圖網(wǎng)絡(luò)實(shí)例demo,感興趣的朋友跟隨小編一起看看吧2023-02-022021年最新用于圖像處理的Python庫(kù)總結(jié)
為了快速地處理大量信息,科學(xué)家需要利用圖像準(zhǔn)備工具來完成人工智能和深度學(xué)習(xí)任務(wù).在本文中,我將深入研究Python中最有用的圖像處理庫(kù),這些庫(kù)正在人工智能和深度學(xué)習(xí)任務(wù)中得到大力利用.我們開始吧,需要的朋友可以參考下2021-06-06