<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
通常都聽到別人說,計算機很牛逼,很聰明,其實計算機一點都不聰明,光是你要跟他溝通,都會氣 shi你,聰明的是在寫程式的你。
寫程式就是跟計算機溝通,告訴它要做什麼。
竟然是這樣,那麼肯定缺少不了一些溝通邏輯。比如你要告訴計算機在什麼情況下做什麼?或者在哪個時間點做什麼?
這都需要用到邏輯判斷。這一章節,主要就是說這個。
Python 條件語句跟其他語言基本一致的,都是通過一條或多條語句的執行結果( True 或者 False )來
決定執行的程式碼塊。
Python 程式語言指定任何非 0 和非空(null)值為 True,0 或者 null 為 False。
執行的流程圖如下:
Python 中,if 語句的基本形式如下:
if 判斷條件: 執行語句…… else: 執行語句……
之前的章節也提到過,Python 語言有著嚴格的縮排要求,因此這裡也需要注意縮排,也不要少寫了冒號: 。
if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。
例如:
上面也說到,非零數值、非空字串、非空 list 等,判斷為 True,否則為 False。因此也可以這樣寫:
可見,把結果列印出來了。
那如果我們把 num 改為空字串呢?
很明顯,空字串是為 False 的,不符合條件語句,因此不會執行到 print(‘Hello Python’) 這段程式碼。
還有再囉嗦一點,提醒一下,在條件判斷程式碼中的冒號 : 後、下一行內容是一定要縮排的。不縮排是會報錯的。
冒號和縮排是一種語法。它會幫助 Python 區分程式碼之間的層次,理解條件執行的邏輯及先後順序。
有些時候,我們的判斷語句不可能只有兩個,有些時候需要多個,比如上面的例子中大於 60 的為及
格,那我們還要判斷大於 90 的為優秀,在 80 到 90 之間的良好呢?
這時候需要用到 if 語句多個判斷條件,
用虛擬碼來表示:
輸出的結果:
有時候我們會遇到多個條件的時候該怎麼操作呢?
比如說要求 java 和 python 的考試成績要大於 80 分的時候才算優秀,這時候該怎麼做?
這時候我們可以結合 or 和 and 來使用。
or (或)表示兩個條件有一個成立時判斷條件成功
and (與)表示只有兩個條件同時成立的情況下,判斷條件才成功。
例如:
輸出結果:
注意:if 有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先順序低於 >(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。
if 巢狀是指什麼呢?
就跟字面意思差不多,指 if 語句中可以巢狀 if 語句。
比如上面說到的例子,也可以用 if 巢狀來寫。
當然這只是為了說明 if 條件語句是可以巢狀的。如果是這個需求,我個人還是不太建議這樣使用 if 巢狀的,因為這樣程式碼量多了,而且巢狀太多,也不方便閱讀程式碼。
一般程式語言都有迴圈語句,為什麼呢?
那就問一下自己,我們弄程式是為了幹什麼?
那肯定是為了方便我們工作,優化我們的工作效率啊。
而計算機和人類不同,計算機不怕苦也不怕累,也不需要休息,可以一直做。
你要知道,計算機最擅長就是做重複的事情。
所以這時候需要用到迴圈語句,迴圈語句允許我們執行一個語句或語句組多次。
迴圈語句的一般形式如下:
在 Python 提供了 for 迴圈和 while 迴圈。
這裡又有一個問題了,如果我想讓他執行了一百次之後停止,那該怎麼做呢?
這時候需要用到一些控制迴圈的語句:
這些控制語句是為了讓我們告訴程式什麼時候停止,什麼時候不執行這次迴圈。
我們先來看下 for 迴圈語句。
它的流程圖基本如下:
基本的語法格式:
那麼我們根據他的基本語法格式,隨便寫個例子測試一下:
輸出的結果如下:
從列印結果來看,它就是把字串 Hello 兩點水 一個一個字元的列印出來。
那如果我們把字串換為字典 dict 呢?
你會發現只列印了字典 dict 中的每一個 key 值。
很多時候,我都是建議大家學到一個新的知識點,都多去嘗試。
你嘗試一遍,自己觀察出來的結論,好過別人說十遍。
如果你不知道怎麼去試?
可以根據我們的例子舉一反三,比如上面的 for 迴圈,試了字串,字典,那我們之前學的基本資料型別還有什麼呢?
不記得可以再返回去看看,可以把所有的基本型別都拿去嘗試一下。
比如,你試了之後,會發現整數和浮點數是不可以直接放在 for 迴圈裡面的。
for 迴圈還常常和 range() 函數搭配使用的。
如果不知道 range() 函數 , 我們直接通過一段程式來理解。
使用 range(x) 函數,就可以生成一個從 0 到 x-1 的整數序列。
如果是 range(a,b) 函數,你可以生成了一個左閉右開的整數序列。
其範例子中的 range(3) 可以寫成 range(0,3) , 結果是一樣的。
其實使用 range() 函數,我們更多是為了把一段程式碼重複執行 n 次。
這裡提個問題,你仔細觀察 range() 函數,上面說到的不管是 1 個引數的,還是 2 個引數的都有什麼共同的特點?
不知道你們有沒有發現,他都是每次遞增 1 的。
range(3) 就是 0 ,1,2 ,每次遞增 1 。 range(3,6) 就是 3 ,4 ,5 ,也是每次遞增 1 的。
那能不能每次不遞增 1 呢?
比如我想遞增 2 呢?
在程式的編寫中,肯定會遇到這樣的需求的。而 python 發展至今,range 函數肯定也會有這種功能。
所以 range 函數還有一個三個引數的。
比如 range(0,10,2) , 它的意思是:從 0 數到 10(不取 10 ),每次間隔為 2 。
While 迴圈和 for 迴圈的作用是一樣的。
我們先來看看 While 迴圈語句的樣子。
程式輸出的結果是:
這個例子是計算 1 到 100 所有整數的和。
之前也提到過了,如果一種語法能表示一個功能,那沒必要弄兩種語法來表示。
竟然都是迴圈,for 迴圈和 while 迴圈肯定有他們的區別的。
那什麼時候才使用 for 迴圈和 while 迴圈呢?
for 迴圈主要用在迭代可迭代物件的情況。while 迴圈主要用在需要滿足一定條件為真,反覆執行的情況。 (死迴圈+break 退出等情況。)部分情況下,for 迴圈和 while 迴圈可以互換使用。
例如:
雖然列印的結果是一樣的,但是細細品味你會發現,他們執行的順序和知道的條件是不同的。
迴圈語句和條件語句一樣,都是可以巢狀的。
具體的語法如下:
for 迴圈巢狀語法
除此之外,你也可以在迴圈體內嵌入其他的迴圈體,如在 while 迴圈中可以嵌入 for 迴圈, 反之,你可
以在 for 迴圈中嵌入 while 迴圈
比如:
當我們需要判斷 sum 大於 1000 的時候,不在相加時,可以用到 break ,退出整個迴圈。
有時候,我們只想統計 1 到 100 之間的奇數和,那麼也就是說當 count 是偶數,也就是雙數的時候,我們需要跳出當次的迴圈,不想加,這時候可以用到 break
當然,這裡還用到了 for … else 語句。
其實 for 迴圈中的語句和普通的沒有區別,else 中的語句會在迴圈正常執行完(即 for 不是通過 break
跳出而中斷的)的情況下執行。
當然有 for … else ,也會有 while … else 。他們的意思都是一樣的。
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注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