Python中的程序流程控制語句
前言:
本篇博客將會講述一下Python
語言中的流程控制語句,在高中我們數(shù)學(xué)中學(xué)過程序流程題,達(dá)到一個目的往往需要從開始一步一步往下走,有時順序執(zhí)行、有時面臨選擇、有時面臨循環(huán)。循環(huán)與選擇控制著整個流程??吹较旅娴膱D片是不是感覺十分熟悉?順序結(jié)構(gòu)就是從上至下一步步執(zhí)行,咱就不在這里多說了。直接拿Python語言中的分支語句開涮。
一、分支語句
在Python中分支語句只有if…elif…else…
沒有switch…case…
,官方認(rèn)為if…else…
已經(jīng)可以滿足需求。分支語句的作用就是進(jìn)行一下判斷,篩選出來符合某種情況的數(shù)據(jù),換一種說法就是不同的情況做出不同的事情。
# 單分支結(jié)構(gòu) if 80>70: ? ? print('無敵666') # 多分支結(jié)構(gòu) s=int(input("請輸入您的考試成績:")) if 100>=s>=90: ? ? print("你的成績無敵了") ? ? if s>95: ? ? ? ? print('你的成績至高無上') ? ? else: ? ? ? ? print('你的成績一人之下萬人之上') elif 90>s>60: ? ? print('你的成績僅僅是合格') else: ? ? print('你的成績不合格,或輸入不規(guī)范') # 條件表達(dá)式【類似于C++語言中的三目運算符】 print("我是對的" if 90>80 else "我是錯的") # 占位符與對象的布爾值 # 每個對象都有布爾值,所以對象可以直接放到條件語句中,作為判別條件 # python中也是只有0或空為bool中的false # 占位符就是當(dāng)你不知道那里寫什么,但確實缺少語句處站住位置,編譯器不報錯 pass ss=int(input("輸入對象:")) if ss: ? ? print('yes') ? ? pass elif ss>1: ? ? print('no') else: ? ? pass
二、循環(huán)語句
1.可迭代對象
在說循環(huán)語句之前,先說一下什么是可迭代對象,可迭代對象每次返回一個元素主要包含序列、文件對象、迭代器對象、生成器函數(shù)。迭代器是一個對象表示可迭代的數(shù)據(jù)集合,他的主要特征就是包括方法__iter__()
和__next__()
,可以實現(xiàn)迭代功能。生成器是一個函數(shù),使用yield
語句,每次產(chǎn)生一個值。range
對象是一個迭代器對象。在Python中循環(huán)語句還是分為while與for循環(huán)。
2.while循環(huán)
while后面是循環(huán)條件,在下面的例子中i就是循環(huán)變量,當(dāng)循環(huán)變量不滿足循環(huán)條件時就退出循環(huán),以下例子打印1-100的和:
代碼如下:
i=1 mysum=0 while i<=100: ? ?mysum+=i ? ?i+=1 # ? ?print(mysum) print(mysum)
3.for循環(huán)
for
循環(huán)的使用方法如下,一般結(jié)合迭代器對象使用。
代碼如下:
# for循環(huán)計算100-999之間的水仙花數(shù) for temp in range(100,1000): ? ?if temp==(temp%10)**3+(temp//10%10)**3+(temp//100)**3: ? ? ? print(temp) # 迭代打印語句 for _ in range(5): ? ?print('Hello World') # 利用else 實現(xiàn)密碼輸入錯誤三次報錯,以及輸入正確跳出循環(huán) passward=0 for passward in range(3): ? ?if input('請輸入您的密碼:')!='888888': ? ? ? print('密碼輸入錯誤!') ? ? ? passward+=1 ? ?else: ? ? ? print('密碼正確!') ? ? ? break else: ? ?print('密碼多次輸入錯誤,自動退出!')
4.九九乘法表
# 綜合案例,嵌套打印99乘法表 for teg in range(1,10): ? ?temp=1 ? ?while temp<=teg: ? ? ? print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end=' ?') ? ? ? temp+=1 ? ?print()
三.循環(huán)控制語句
1.break
跳出本層循環(huán)
2.continue
跳過本次循環(huán)
3.goto
內(nèi)置沒有這個語句,但是有的第三方庫中含有該語句 比如:python-goto,感興趣的小伙伴可以用一用。
4.else
這一點還是很獨特的,Python的循環(huán)語句支持else語句,也就是在循環(huán)語句之后可以加一句else語句。else代碼塊內(nèi)的代碼被執(zhí)行的條件是循環(huán)體沒有被break.還以九九乘法表為例:
for teg in range(1,10): ? ?temp=1 ? ?while temp<=teg: ? ? ? print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end=' ?') ? ? ? temp+=1 ? ?print() else: ? ? print("asdholcnnl")
四、循環(huán)相關(guān)的內(nèi)置函數(shù)
1.enumerate()
這個函數(shù)的作用就是為可遍歷的序列加上索引,并且索引開始值是我們可以指定的
s=["Tom","jack","lisa"] for i,name in enumerate(s,start=1): ? ? print(f"第{i}個人是{name}")
2.zip()
如果需要并行遍歷多個對象,可以使用這個函數(shù)進(jìn)行打包。zip的作用就是將多個可迭代對象打包成一個個元組然后返回一個可迭代對象。如果被壓縮的每個可迭代對象長度不同那么按照最短的那個長度合并。利用*運算符還可以將元組解壓為列表。[*zip(x,y)]
將x,y打包后再轉(zhuǎn)換為列表形式zip(*zip(x,y))
,如果x,y代表一個矩陣,那么zip(*zip(x,y))
就是其轉(zhuǎn)置
for i,j in zip(range(0,10),range(0,10)): ? ? print(i*j)
3.map()
map函數(shù)可以傳一個函數(shù)與多個可迭代列表,如果map傳的函數(shù)為None那么map功能與zip函數(shù)相同。
如果傳的是其余函數(shù),那么函數(shù)將作用與每個對象。需要注意的是可迭代對象的數(shù)目要與傳進(jìn)去函
數(shù)的參數(shù)數(shù)目保持一致。
#結(jié)果1,1,12 list(map(abs,[-1,-1,-12])) #結(jié)果1 1 4 list(map(pow,range(3),range(3)))
五、總結(jié)
篇博客主要分享了一下流程控制語句中的分支語句與循環(huán)語句,分支語句操作起來比較簡單,大家主要掌握一下循環(huán)語句,特別是循環(huán)語句中的幾個內(nèi)置函數(shù),無論是在寫算法題還是數(shù)據(jù)分析中都很常用。
到此這篇關(guān)于Python中的程序流程控制語句的文章就介紹到這了,更多相關(guān)Python程序流程控制語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 協(xié)程中的迭代器,生成器原理及應(yīng)用實例詳解
這篇文章主要介紹了python 協(xié)程中的迭代器,生成器原理及應(yīng)用,結(jié)合具體實例形式詳細(xì)分析了Python協(xié)程中的迭代器,生成器概念、原理及應(yīng)用操作技巧,需要的朋友可以參考下2019-10-10Python開發(fā)之QT解決無邊框界面拖動卡屏問題(附帶源碼)
朋友在學(xué)習(xí)QT的過程中,都會遇到各種問題,今天就QT無邊框拖動花屏問題給大家詳細(xì)介紹,究竟該如何解決呢,下面通過實例代碼和圖文相結(jié)合給大家詳細(xì)介紹,需要的朋友參考下吧2021-05-05Python PyWebIO提升團(tuán)隊效率使用介紹
這篇文章主要為大家介紹了Python PyWebIO提升團(tuán)隊效率使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01PyTorch中的nn.ConvTranspose2d模塊詳解
nn.ConvTranspose2d是PyTorch中用于實現(xiàn)二維轉(zhuǎn)置卷積的模塊,廣泛應(yīng)用于生成對抗網(wǎng)絡(luò)(GANs)和卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的解碼器中。該模塊通過參數(shù)如輸入輸出通道數(shù)、卷積核大小、步長、填充等,能控制輸出尺寸和避免棋盤效應(yīng)2024-09-09利用Python腳本實現(xiàn)ping百度和google的方法
最近在做SEO的時候,為了讓發(fā)的外鏈能夠快速的收錄,想到了利用ping的功能,google和百度都有相關(guān)的ping介紹,有興趣的朋友可以去看看相關(guān)的知識。下面這篇文章主要介紹了利用Python腳本實現(xiàn)ping百度和google的方法,需要的朋友可以參考借鑒,一起來看看吧。2017-01-01