91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python進階之路 3.5.3 跳出循環

發布時間:2020-08-02 08:02:43 來源:網絡 閱讀:263 作者:Python進階 欄目:編程語言

3.5.3 跳出循環

在前面的介紹中,介紹了while循環,是通過while后面的條件表達式的值確定是否結束循環,不過在很多時候,需要在循環體內部之間跳出循環,這就需要使用到break語句。這個語句就是跳出循環,不在執行循環體。

x = 0
while x < 100:
    if x == 5:
        break;
    print(x)
    x += 1
輸出結果:
0
1
2
3
4

在上面的代碼中,while循環的條件語句是x < 100,而x變量的初始值是0,因此,如果在while循環中,每次循環都對x變量值加1,那么while循環會循環100次。不過在while循環中通過if語句進行了判斷,當x的值等于5時,執行break語句,就跳出循環,不在執行循環條件。所以這個while循環只會執行6次(x從0到5),當執行到最后一次的時候,執行了break語句退出while循環。而后面的語句都不會在去執行了。所以這段程序只會輸出0到4,共5個數字。

與break語句對應的還有另外一個continue語句。與break語句不同的是,continue語句用來終止本次循環,而break語句用來徹底退出循環。continue語句終止本次循環后,會立刻開始執行下一次循環。

x = 0
while x < 3:
    if x == 1:
        continue;
    print(x)
    x += 1      #這里為死循環
輸出結果:(死循環)
0

在上面的代碼中,當x等于1時,執行了continue語句,因此,if語句后面的所有語句都不會執行,while循環會繼續執行下一次循環。不過這里有個問題,當執行這段代碼時,會發現進入死循環了。所謂的死循環,是指while循環的條件表達式的值永遠為True,也就是循環永遠不會結束。死循環是在使用循環時經常容易犯的一個錯誤。

現在來分析一下這段代碼。如果要讓while循環正常結束,x必須大于或等于3,當x等于1時,執行了continue語句,所以if語句后面的所有語句在本次循環中都不會被執行了,但while循環最后一條語句是x += 1,這條語句用于在每次循環中將x變量的值加1.但這次沒有加1,所以下一次循環,x變量的值仍然是1,也就是說,if語句的條件永遠滿足,因此continue語句將永遠執行下去,所以x變量的值永遠不可能大于或等于3了。最終導致的后果就是while循環中的語句會永遠執行下去,也就是前面提到的死循環。

解決的方法也很簡單,只要保證執行continue語句之前讓變量x加1即可。或者將x += 1放到if語句的前面,或方到if語句中。

x = 0
while x < 3:
    if x == 1:
        x += 1      #需要在此處為x加1,否則將進入死循環
        continue
    print(x)
    x += 1

break和continue語句同樣支持for循環,而且支持嵌套循環。不過要注意,如果在嵌套循環中使用break語句,那么只能退出當前層的循環,不能退出最外層的循環。在下面的實例3.8中會演示循環更復雜的使用方法。

[例 3.8] 本例除了演示while和for循環的基本用法以外,還在滿足一定條件的前提下,通過break語句終止了整個while和for循環,以及使用continue語句終止了while和for語句的本次循環,最后再while循環中嵌套了一個for循環,從而形成一個嵌套循環,在這個嵌套循環中,輸出了二維列表中的所有元素值。在Python語句中,嵌套循環可以嵌套任意多層的循環。

x = 0
while x < 100:                                  #開始while循環
    if x == 5:                                  #當x == 5時終止循環
        break;
    print(x,end=" ")
    x += 1

names = ["小黑","中白","大紅"]                    #定義一個列表變量
print("\nbreak語句在for循環中的應用")
for name in names:                              #對names列表進行迭代
    if not name.startswith("小"):               #遇到列表元素不是以"小"開頭的,就終止for循環
        break;
    print(name)

print("break語句在for循環中的應用")
for name in names:                              #對names列表進行迭代
    #遇到列表元素以"小"開頭的,會跳過本次循環,繼續執行下一次循環
    if name.startswith("小"):
        continue;
    print(name,end=" ")

print("\n嵌套循環")
arr1 = [1,2,3,4,5]
arr2 = ["小黑","中白","大紅"]
arr = [arr1,arr2]                               #定義一個二維列表變量
i = 0
while i < len(arr):                             #使用嵌套循環枚舉二維列表中的每一個元素值
    for value in arr[i]:
        print(value,end=" ")                    #輸出二維列表里的每一個元素值
    i += 1
    print()
輸出結果:
0 1 2 3 4 
break語句在for循環中的應用
小黑
break語句在for循環中的應用
中白 大紅 
嵌套循環
1 2 3 4 5 
小黑 中白 大紅 
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 双辽市| 通许县| 丹阳市| 三亚市| 石棉县| 永州市| 周宁县| 库尔勒市| 莫力| 莱阳市| 陈巴尔虎旗| 文成县| 都安| 鄢陵县| 同心县| 东宁县| 中江县| 大厂| 呼伦贝尔市| 峨眉山市| 朝阳区| 白城市| 周口市| 永福县| 陆川县| 万载县| 临武县| 尤溪县| 临沭县| 石城县| 启东市| 盘锦市| 长白| 曲靖市| 长葛市| 中西区| 丽江市| 磐安县| 巴楚县| 三门县|