Python中的程序流程控制語句
前言:
本篇博客將會講述一下Python語言中的流程控制語句,在高中我們數(shù)學中學過程序流程題,達到一個目的往往需要從開始一步一步往下走,有時順序執(zhí)行、有時面臨選擇、有時面臨循環(huán)。循環(huán)與選擇控制著整個流程??吹较旅娴膱D片是不是感覺十分熟悉?順序結(jié)構(gòu)就是從上至下一步步執(zhí)行,咱就不在這里多說了。直接拿Python語言中的分支語句開涮。

一、分支語句
在Python中分支語句只有if…elif…else…沒有switch…case…,官方認為if…else…已經(jīng)可以滿足需求。分支語句的作用就是進行一下判斷,篩選出來符合某種情況的數(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ī)范')
# 條件表達式【類似于C++語言中的三目運算符】
print("我是對的" if 90>80 else "我是錯的")
# 占位符與對象的布爾值
# 每個對象都有布爾值,所以對象可以直接放到條件語句中,作為判別條件
# python中也是只有0或空為bool中的false
# 占位符就是當你不知道那里寫什么,但確實缺少語句處站住位置,編譯器不報錯 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)變量,當循環(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ù)進行打包。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ù)目要與傳進去函
數(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腳本在Nginx和uwsgi上部署MoinMoin的教程
這篇文章主要介紹了利用Python腳本在Nginx和uwsgi上部署MoinMoin的教程,示例基于CentOS操作系統(tǒng),需要的朋友可以參考下2015-05-05
用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼
這篇文章主要介紹了用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼,主要分為兩部分,獲取網(wǎng)頁上數(shù)據(jù)和圖片保存到本地等,感興趣的可以了解一下2020-07-07
Python編程使用Selenium模擬淘寶登錄實現(xiàn)過程
這篇文章主要介紹了Python編程使用Selenium模擬淘寶登錄的實現(xiàn)過程示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-10-10
python連接access數(shù)據(jù)庫兩種方式總結(jié)
這篇文章主要介紹了python連接access數(shù)據(jù)庫兩種方式的相關(guān)資料,SQLAlchemy使用access方言進行連接,而pyodbc則通過pyodbc模塊實現(xiàn)連接,文章還提供了連接代碼示例,需要的朋友可以參考下2025-02-02
Python 實現(xiàn)隨機數(shù)詳解及實例代碼
這篇文章主要介紹了Python 實現(xiàn)隨機數(shù)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04
Python中的map()函數(shù)和reduce()函數(shù)的用法
這篇文章主要介紹了Python中的map()函數(shù)和reduce()函數(shù)的用法,代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04

