零基礎編程Python十一課break,continue、pass、else循環搭配用

2020-12-13 天天讀史

很高興又和大家見面了,上一節課,我們學習了for循環與while循環。

也對比了for循環與while循環的區別

這節課的任務是更加深入的學習循環語句的用法。

接上節課講到:

之前講到while循環後面a<4是while循環的設定條件,只有滿足條件時,循環才能執行。

在上面這個例子中,執行順序是:1、先定義變量a, 將0賦值給a。 2、進入while循環設定條件a<4,計算機滿足條件就會執行,江湖術語,滿足條件就為真,也叫條件為True,之後進入循環體。

3. 進入循環體後,執行a = a+1, print(a), 一次又一次的執行,直到a=4時,4已經不滿足a<4的條件了,此時條件為假,也就是條件為False, 這段循環就結束.

那這節課,我們來探究一下這個設定條件的True與False。

用數據做判斷:布爾值

在while循環之前,我們學過if…elif…else語句,這其中也涉及到用數據做判斷。

但是,if語句中的條件與while語句中的條件有區別:if語句中的條件只判斷一次,while語句中的判斷會一直循環執行。

這個「判斷」的過程,在計算機中是如何運行的呢?

計算機的判斷,只有兩種結果,要麼是True(條件為真), 要麼為False(條件為假)。True與False叫做布爾值,這個判斷真假的過程,叫做【布爾計算】。

先來個例子,體會一下。

運行一下下面代碼, 觀察終端裡的效果。

print() 語句中的計算就是【布爾計算】,終端上要麼顯示True,要麼顯示False。

print(3<6)與print(3>6)這兩句很簡單啦,判斷大小

print('中國'=='中國') 與 print('北京'=='首都')這是比較字符串。兩個字符串』中國『相等,結果顯示True, 拿『北京』與『首都』做對比,兩個字符串不相等,但是用的是「==「號,所以,顯示False

只有當條件為False時,if與while才會結束循環執行後面的語句。

while False:

print('我是Fasle,列印不出來')

你會發現終端裡什麼也不會列印。

這是因為while循環執行,必須要while後的條件為「真「,而【布爾值】False本身就為假,所以這個循環一次都不會執行。

再運行下下面代碼,觀察終端裡的效果。

while 3>6:

它也不會運行,因為3>6這個判斷不對呀,它為假,就不會執行啊。

那我們換一換,把3>6換成3<6,來運行一下。(注意:點擊運行後,滑鼠點擊終端區域,按【Ctrl+C】來強制結束運行,報錯後跳過本題)

import time

while 3<6:

time.sleep(1)

print('列印出來')

你會發現,終端裡會一直列印

來解釋一下這是為什麼?這是因為3<6這個判斷是正確的, 也就是這個條件為True,代表著條件永遠正確。所以代碼就陷入了死循環。

我們做一個總結。

在我們已經知道了什麼是布爾值與布爾運算。接著我們來看一下布爾運算的三種形式。

兩個數值做比較

剛才3>6與3<6都屬於兩個數值做比較。

用兩個數值做比較的【布爾運算】,主要包含以下情況:

這是幾種在判斷中常用的符號。

再區分一次"="表示賦值,"=="才表示相等。

接下來看布爾運算的第二種方式:直接用數值做運算。

運行一下下面代碼, 觀察終端裡的效果。(注意:點擊運行後,滑鼠點擊終端區域,按【Ctrl+C】來強制結束運行,報錯後跳過本題)

while 1:

print('首都')

你會發現,又陷入死循環了。

這段代碼很怪,while後面的條件只寫了一個數字1。

其實,在這裡整數1是作為一個判斷條件,被判斷為真(True),這就是數值作為條件, 被判斷真假的情況。

在Python江湖中已經設定好什麼數據為真,什麼數據為假。假的是有限的,那麼除了假的,就都是真的。請看下圖:

這個表中左側的都是假的,比如False、0、『』空字符串等等。 其餘的都是真的了

if '開心':

print('北京')

if 0:

選擇題

請問這段程序執行後,終端會顯示什麼?

A:什麼都不顯示。

B:顯示「北京「」首都「。

C:只顯示「北京「。

選C。 if 『開心『,條件為真,會執行print('北京'); if 0條件為假,不執行print('首都')

送大家一個寶盒,bool()函數,bool()函數用來判斷一個數據為真還是為假。有點和type()相似吧。

先來個試驗,運行一下下面代碼, 觀察終端裡的效果。

# 請閱讀代碼後再直接運行

print('以下數據判斷結果都是【真】:')

print(bool(True))

print(bool(10))

print(bool('xyz'))

print('以下數據判斷結果都是【假】:')

print(bool(False))

print(bool(0))

print(bool(''))

print(bool(None))

現在,你懂的直接用數值做布爾運算是怎麼一回事了吧。

下面,來看一下第三種情況。

布爾值之間的運算

你會接觸到and、or、not、in、not in五種運算。

先運行一下下面代碼, 觀察終端裡的效果。

# 請先閱讀代碼,然後直接運行

a = 5

b = -5

print('以下是and運算')

if a==5 and b==5: # 【b實際上是-5】

print('True')

else:

print('False')

print('以下是or運算')

if a==5 or b==5: # 【b實際上是-5】

看到終端裡面的結果了嗎?

a==5 and b==5的意思是【a==5並且b==5】, 只有兩個條件都為真的時候,才能判斷為True。 而a==5 or b==5的意思是【a==5 或者 b==5】這兩個條件只要滿足其中一個,就判斷為True。

來,總結以下and與or。

x=6

y=-5

z=0

q=10

if x<y and z<q:

print('True')

else:

print('False')

選擇題

觀察上面代碼,如果運行代碼,終端中的結果是?

A:Ture

B:False恭喜你答對了,選B。x

接下來我們看一下not, not就是相反的意思。not False就是True, not True就是False。

最後,我們看一下【in】與【not in】

【in】的意思「判斷一個元素是否在一堆數據之中」,【not in】相反。

你應該能直接看出,1在list中,10與0不在list中。

運行一下下面代碼, 觀察終端裡的效果。

# 請先閱讀代碼,然後直接運行

list = [1,2,3,4]

a = 1

b = 10

c = 0

print(bool(a in list))

print(bool(b in list))

print(bool(c in list))

是不是和我們猜的一樣?

到這裡,我們學習了5種布爾值的運算方式。做個總結

好了,布爾值的運算學完了, 我們下面學習一下四種新的語句。

四種新語句

這四種新語句可以與循環搭配使用,能夠讓循環有不同的效果。

break語句

break語句的意思就是「打破」,在Python江湖中用來結束循環的。

運行一下下面代碼, 觀察終端裡的效果。

運行後,你會發現,本來for循環與while循環是可以從1列印到9的,結果由於break, 只能從1列印到5,這就是break的作用。在循環內使用,用來結束循環。

注意好縮進哦。

continue語句

break看完之後,再看一下continue語句。

continue的意思是「繼續」。這個語句也是在循環內部使用的。當某個條件被滿足的時候,觸發continue語句,結束本次循環, 從下一次循環繼續執行。

運行一下下面代碼, 觀察終端裡的效果。

運行結束後,你會發現,兩個循環中,都沒有列印數字【5】,但是和break不同的是,數字【5】之後的內容都列印出來了

就是continue,它只能跳過本次的循環,但是這次之後的循環仍然會執行。

pass語句

pass很常見,就是我們理解的「跳過」。

運行一下下面代碼, 觀察終端裡的效果。

這個代碼的意思是:當age>=18的時候,跳過,什麼都不做。其他情況age<18的時候,執行 print('你未成年,不得進入網吧')語句。

So Easy

else語句

else語句不僅能夠在if語句中使用,還能夠和循環搭配使用。

舉一個例子:

for i in range(3):

num = int(input('請輸入0結束循環,你有3次機會:'))

if num == 0:

print('你觸發了break語句,導致else語句不會生效。')

break

else:

print('3次循環你都錯過了,else語句生效了。')

以上代碼,你可以做兩種嘗試:1、連續3次不輸入0; 2、輸入一次0跳出循環,完成一種嘗試後,你可以點擊【重做】按鈕,再來一次嘗試。

一句話總結,當循環中沒有碰到break語句,就會執行循環後面的else語句,否則就不會執行。

和上面一樣,看一下else與while循環的搭配使用。運行一下下面代碼, 觀察終端裡的效果。

break、continue、pass、else都是和循環搭配使用的,也能夠跳出循環。

到這裡,我們四種語句都學完了,做個總結。

好了,今天的課就上到這裡了。我們下節課再見。

相關焦點

  • python邏輯控制總結——break,continue和pass
    今天,我們通過while來實現一個人工智慧……python學說話題目:從控制臺接受用戶的輸入內容,並將內容原樣輸出。當用戶輸入「再見」時,輸出「再見」後程序結束。代碼如下:python break 和 continue如demo中所展示,通過while True的形式,創建了一個無限循環後,在循環體內,可以在特定條件下,通過break語句結束循環。有時候,我們可以不希望結束循環,而是希望不執行循環體的後續內容,而直接進入下一個循環。這時候,可以使用continue。如設定「日本」為違禁詞。
  • python系列15:跳出循環:break與continue
    在循環過程中還會有些特列出現,比如上文提到的:在循環列印str_condiion = 'I like python'時,只列印其中的字母,而不列印空格呢(可以考慮if判斷等)?如果列印過程中碰到字母o即結束循環?那應該怎麼做呢?
  • Python編程10:跳出循環結構之break和continue
    但有時我們也想能夠中途離開循環,也就是在for循環結束計數之前,或者while循環條件為真之前,能退出循環。Python提供了兩種方法:使用continue關鍵字和使用break關鍵字。在使用這兩個關鍵字之前,我們先來看一段很簡單的代碼(圖1)。
  • Python循環語句代碼逐行詳解:while、for、break和continue
    循環語句是程序設計中常用的語句之一。任何程式語言都有while循環,Python也不例外。while循環的格式如下所示。1while(表達式):2    …3else:4    …while循環的執行過程:當循環表達式為真時,依次執行while中的語句。直到循環表達式的值為False,程序的流程轉到else語句。其中else子句可以省略,表達式兩側的括號也可以省略。注意:while循環中的else子句也屬於循環的一部分,最後一次循環結束後將執行else子句。
  • 【Python 第35課】 continue
  • Python入門19-break和continue
    breakbreak可用於(提前)退出循環
  • Python中的while循環
    # Python 編程中 while 語句用於循環執行程序,即在某條件下,循環執行某段程序,以處理需要重複處理的相同任務。 # while中執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。當判斷條件假 false 時,循環結束。
  • Python入門基礎解答條件判斷語句和循環語句的新手使用教程
    非零數值、非空字符串、非空list等,就判斷為True,否則為False。循環語句python中不是叫循環,而是迭代。其實他們是一樣的意思,只是叫法不同而已。Python中的循環語句有 for 和 while。
  • [GO語言基礎] 六.循環控制語句、流程控制及編程練習(for、break、continue、goto)
    因此從今天開始從零講解Golang程式語言,一方面是督促自己不斷前行且學習新知識;另一方面是分享與讀者,希望大家一起進步。前文介紹了Golang的順序控制語句和條件控制語句。這篇文章將詳細講解循環控制語句和流程控制,包括for、break、continue、goto及相關編程練習。
  • Python中被忽略的else
    對於一個python程式設計師來說,else往往都是配合if來使用的,像這樣:a = '12'if a == '123':    print(a)else:    print('出錯了!')但是,python中的else並不只能用在if之後,so,這次我們討論一下Python流程控制中的else。
  • python循環語句用數據做判斷:布爾值和布爾運算
    breakelse:print('5次循環你都錯過了,else語句生效了。')以上這段代碼,請你做兩種嘗試:1.連續五次不輸入零;2.輸入一次0跳出循環。完成一種嘗試後,你可以點擊【重做】按鈕,再來一次嘗試。
  • python循環控制語句
    循環語句語句後面一定要跟:冒號for循環:1.for…in range()遍歷格式:for i in range(5);或者for i in range( 0,10,3 );格式中的1列印i是從0開始後列印到5結束
  • Python基礎知識儲備,與眾不同的for循環
    ;循環體,循環最後為False的時候就執行elseelse:< statements >示例:編程實現在控制臺中求從1-100之和,代碼縮進請參考演示圖片sum_of_number = 0 # 存儲和的值for i in range(0, 101):sum_of_number += ielse
  • Python循環結構語句
    1.循環廣義:一個周期現象或者重複出現的情況,這種狀態稱為循環狹義:在滿足條件的情況下,反覆執行某一段代碼,在程式語言中出現的這種循環。被反覆執行的這段代碼稱為循環體如果循環條件不具備,循環正常結束的話,會執行else語句塊如果循環時break退出的,則不走else語句# 語法:while 循環條件:# 循環體# else
  • 柳小白Python學習筆記 7 循環語句學習
    昨天學習的是條件語句,今天開始學循環語句。在python中我們可以使用循環語句讓某個語句或代碼組多次執行。這時就會會用到for和while語句。在python中循環語句用於循環執行程序,來處理需要重複處理的任務。
  • python中for循環有用的幾個點
    每一個程序語言,基本上都有for循環,python自然也不會落下了。接下來就跟大家嘮嘮for循環中幾個有用的點,比如continue、break、else。還會介紹一個for循環構建推導式,這個是個新的知識點。
  • 07.報數遊戲,趣說python循環裡的break和continue
    如果大家都是傻瓜首先,如果只是100個人報數,我們用 print(i) 表示把數字 i 報數出來。print(i)if i % 7 == 0 :break在python裡,我們使用 break 來提前結束整個循環。
  • 09.為什麼Python循環語句裡也有else?
    循環嵌套在第8課學過。:breakelse:count += 1print(i)print(count)循環語句裡的else是Python語言特有的,有趣的語法。第一個方法裡的flag是通過在滿足break的情況下,改變flag的值,從而在for j循環外部,可以通過判斷flag的值是否被改變而獲知for j循環是如何結束的。其它程式語言一般用這種方法。而Python則在循環語句裡引入了 else語法,實現更為簡潔。
  • python基礎 | 條件 循環 異常 斷言
    可以搭配else一起使用,當循環執行完後執行某段代碼,可選但非必須,for循環也可以用else。python為我們提供了兩個循環控制關鍵字 break 和 continue 。二者區別就是break會終止循環,continue不終止循環。
  • python入門第八課:while循環和用戶輸入
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹python中如何與用戶進行交互,同時學習另外一個循環運算符while。: print('來人姓名叫:',name)三、break和continue有時候需要提前終止循環,可以用break語句來終止。