<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前言:
本篇部落格將會講述一下Python
語言中的流程控制語句,在高中我們數學中學過程式流程題,達到一個目的往往需要從開始一步一步往下走,有時順序執行、有時面臨選擇、有時面臨迴圈。迴圈與選擇控制著整個流程。看到下面的圖片是不是感覺十分熟悉?順序結構就是從上至下一步步執行,咱就不在這裡多說了。直接拿Python語言中的分支語句開涮。
在Python中分支語句只有if…elif…else…
沒有switch…case…
,官方認為if…else…
已經可以滿足需求。分支語句的作用就是進行一下判斷,篩選出來符合某種情況的資料,換一種說法就是不同的情況做出不同的事情。
# 單分支結構 if 80>70: print('無敵666') # 多分支結構 s=int(input("請輸入您的考試成績:")) if 100>=s>=90: print("你的成績無敵了") if s>95: print('你的成績至高無上') else: print('你的成績一人之下萬人之上') elif 90>s>60: print('你的成績僅僅是合格') else: print('你的成績不合格,或輸入不規範') # 條件表示式【類似於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
在說迴圈語句之前,先說一下什麼是可迭代物件,可迭代物件每次返回一個元素主要包含序列、檔案物件、迭代器物件、生成器函數。迭代器是一個物件表示可迭代的資料集合,他的主要特徵就是包括方法__iter__()
和__next__()
,可以實現迭代功能。生成器是一個函數,使用yield
語句,每次產生一個值。range
物件是一個迭代器物件。在Python中迴圈語句還是分為while與for迴圈。
while後面是迴圈條件,在下面的例子中i就是迴圈變數,當迴圈變數不滿足迴圈條件時就退出迴圈,以下例子列印1-100的和:
程式碼如下:
i=1 mysum=0 while i<=100: mysum+=i i+=1 # print(mysum) print(mysum)
for
迴圈的使用方法如下,一般結合迭代器物件使用。
程式碼如下:
# for迴圈計算100-999之間的水仙花數 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 實現密碼輸入錯誤三次報錯,以及輸入正確跳出迴圈 passward=0 for passward in range(3): if input('請輸入您的密碼:')!='888888': print('密碼輸入錯誤!') passward+=1 else: print('密碼正確!') break else: print('密碼多次輸入錯誤,自動退出!')
# 綜合案例,巢狀列印99乘法表 for teg in range(1,10): temp=1 while temp<=teg: print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end=' ') temp+=1 print()
跳出本層迴圈
跳過本次迴圈
內建沒有這個語句,但是有的第三方庫中含有該語句 比如:python-goto,感興趣的小夥伴可以用一用。
這一點還是很獨特的,Python的迴圈語句支援else語句,也就是在迴圈語句之後可以加一句else語句。else程式碼塊內的程式碼被執行的條件是迴圈體沒有被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")
這個函數的作用就是為可遍歷的序列加上索引,並且索引開始值是我們可以指定的
s=["Tom","jack","lisa"] for i,name in enumerate(s,start=1): print(f"第{i}個人是{name}")
如果需要並行遍歷多個物件,可以使用這個函數進行打包。zip的作用就是將多個可迭代物件打包成一個個元組然後返回一個可迭代物件。如果被壓縮的每個可迭代物件長度不同那麼按照最短的那個長度合併。利用*運運算元還可以將元組解壓為列表。[*zip(x,y)]
將x,y打包後再轉換為列表形式zip(*zip(x,y))
,如果x,y代表一個矩陣,那麼zip(*zip(x,y))
就是其轉置
for i,j in zip(range(0,10),range(0,10)): print(i*j)
map函數可以傳一個函數與多個可迭代列表,如果map傳的函數為None那麼map功能與zip函數相同。
如果傳的是其餘函數,那麼函數將作用與每個物件。需要注意的是可迭代物件的數目要與傳進去函
數的引數數目保持一致。
#結果1,1,12 list(map(abs,[-1,-1,-12])) #結果1 1 4 list(map(pow,range(3),range(3)))
篇部落格主要分享了一下流程控制語句中的分支語句與迴圈語句,分支語句操作起來比較簡單,大家主要掌握一下回圈語句,特別是迴圈語句中的幾個內建函數,無論是在寫演演算法題還是資料分析中都很常用。
到此這篇關於Python中的程式流程控制語句的文章就介紹到這了,更多相關Python程式流程控制語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45