最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python循環(huán)控制詳解

 更新時(shí)間:2024年07月16日 08:59:47   作者:DECHIN  
本文介紹了Python編程語(yǔ)言中關(guān)于for循環(huán)和if條件控制的一些基本使用,包含了單層循環(huán)的退出機(jī)制和多層循環(huán)的退出機(jī)制,使得我們?cè)跐M(mǎn)足特定條件時(shí),可以直接結(jié)束多層循環(huán),需要的朋友可以參考下

技術(shù)背景

循環(huán)控制是每一門(mén)編程語(yǔ)言的基礎(chǔ),最常用的就是for循環(huán)和while循環(huán)。使用循環(huán)可以很大程度上簡(jiǎn)化代碼的編寫(xiě),可讀性也很強(qiáng)。這里介紹Python的for循環(huán)基本操作和多重循環(huán)的控制。

單層for循環(huán)

這里用一個(gè)最簡(jiǎn)單的打印數(shù)字的for循環(huán)來(lái)演示普通單層for循環(huán)的控制:

for i in (1, 2, 3): 
    print (i)

輸出結(jié)果為:

1 2 3

值得一提的是,Pythonic的寫(xiě)法使得我們可以把這一串的循環(huán)寫(xiě)到一行里面:

for i in (1, 2, 3): print (i)

輸出結(jié)果是一樣的,但是可以很大程度上縮略簡(jiǎn)單代碼的行數(shù)。對(duì)于比較復(fù)雜的循環(huán)體,建議還是分行來(lái)寫(xiě),提升代碼可讀性。

雙重for循環(huán)

我們還是使用打印數(shù)字的簡(jiǎn)單案例:

for i in (1, 2, 3):
    for j in (4, 5):
        print (i, j)

輸出結(jié)果為:

1 4
1 5
2 4
2 5
3 4
3 5

那么類(lèi)似的,雙重循環(huán)也可以使用一些Pythonic的寫(xiě)法:

from itertools import product
for i, j in product((1, 2, 3), (4, 5)): print (i, j)

輸出結(jié)果依然是一樣的,但是代碼量從三行縮減到了兩行。這里順帶介紹另一個(gè)情況,在循環(huán)內(nèi)操作多個(gè)對(duì)象:

a = (1, 2, 3)
b = (4, 5, 6)
for i in range(3):
    print (a[i], b[i])

輸出結(jié)果為:

1 4
2 5
3 6

那么其實(shí)也可以用zip打包的方法進(jìn)行循環(huán):

for i, j in zip((1, 2, 3), (4, 5, 6)): print (i, j)

當(dāng)然,輸出結(jié)果也是跟上面的案例一致的。

單層循環(huán)控制

常用的控制句柄就是continue,breakpass,然后結(jié)合if...elif...else來(lái)使用。還是用這個(gè)打印數(shù)字的示例,但是我們只打印奇數(shù):

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)

輸出結(jié)果為:

1
3

這里條件控制內(nèi)容為:當(dāng)?shù)玫降臄?shù)為奇數(shù)時(shí),打印該數(shù)。而如果為偶數(shù),則執(zhí)行if從句之外的內(nèi)容,因?yàn)檫@里函數(shù)之外沒(méi)有其他操作,因此就不打印。如果需要打印,我們可以加上一個(gè)打印操作:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
    else:
        print ('Even: {}'.format(i))

輸出結(jié)果為:

1
Even: 2
3

條件判斷可以結(jié)合continue來(lái)使用,continue表示跳過(guò)余下所有的操作,執(zhí)行循環(huán)的下一步。例如上面這個(gè)例子,假設(shè)我們不使用else語(yǔ)句,直接在if內(nèi)部加上一個(gè)continue,也是可以實(shí)現(xiàn)同樣功能的:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
        continue
    print ('Even: {}'.format(i))

輸出結(jié)果為:

1
Even: 2
3

如果說(shuō)達(dá)到條件不想繼續(xù)循環(huán)了,可以使用break:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
    else:
        print ('Even: {}'.format(i))
        break

輸出結(jié)果為:

1
Even: 2

這里到出現(xiàn)第一個(gè)偶數(shù)之后,就退出了循環(huán)。

多層循環(huán)控制

對(duì)于if和continue、break等語(yǔ)句的使用邏輯,在多層循環(huán)下和單層循環(huán)是一致的。但是這里break只能跳出一層循環(huán),不能跳出兩層循環(huán):

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 6:
            break
        print (i, j)

輸出結(jié)果為:

1 4
3 4
3 5

這里輸出結(jié)果跳過(guò)了(1,5),(2,4),(2,5)這幾個(gè)組合,但是后面的依然都可以正常的輸出。如果想退出多層循環(huán)應(yīng)該怎么操作呢?可以參考下下面這個(gè)案例:

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 7:
            break
        print (i, j)
    else:
        continue
    break

輸出結(jié)果為:

1 4
1 5
2 4

這里我們稍微改了一下條件,當(dāng)i+j=7時(shí),退出所有循環(huán)。這里在內(nèi)部循環(huán)中觸發(fā)了一個(gè)break之后,到外層循環(huán)會(huì)跳過(guò)else去執(zhí)行第二個(gè)break,也就是退出所有的循環(huán)。但是如果內(nèi)部循環(huán)中沒(méi)有觸發(fā)break,也就是滿(mǎn)足if的條件,那么到了外層循環(huán)就會(huì)進(jìn)入到else的語(yǔ)句中,也就是執(zhí)行continue語(yǔ)句。因此,如果需要在滿(mǎn)足條件時(shí)退出多層的循環(huán),那么就使用for...[for...if...]else...break這樣的形式去寫(xiě)就可以了,然后把外層循環(huán)非退出場(chǎng)景的任務(wù)寫(xiě)到else語(yǔ)句下就可以了。

在上面這個(gè)案例中,假如沒(méi)有設(shè)定這個(gè)continue語(yǔ)句,那么結(jié)果會(huì)是這樣的:

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 7:
            break
        print (i, j)
    break

輸出:

1 4
1 5

也就是說(shuō),不論是否滿(mǎn)足內(nèi)循環(huán)里面的if條件,到了外層循環(huán)都是直接break退出,所以一般我們還是會(huì)通過(guò)else...continue來(lái)繼續(xù)執(zhí)行外層循環(huán)。

總結(jié)概要

本文介紹了Python編程語(yǔ)言中關(guān)于for循環(huán)和if條件控制的一些基本使用。包含了單層循環(huán)的退出機(jī)制和多層循環(huán)的退出機(jī)制,使得我們?cè)跐M(mǎn)足特定條件時(shí),可以直接結(jié)束多層循環(huán)。

版權(quán)聲明

本文首發(fā)鏈接為:https://www.cnblogs.com/dechinphy/p/for-control.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

請(qǐng)博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

到此這篇關(guān)于Python循環(huán)控制的文章就介紹到這了,更多相關(guān)Python循環(huán)控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 從基礎(chǔ)到高級(jí)詳解Python中HTTP請(qǐng)求處理實(shí)戰(zhàn)指南

    從基礎(chǔ)到高級(jí)詳解Python中HTTP請(qǐng)求處理實(shí)戰(zhàn)指南

    HTTP 是互聯(lián)網(wǎng)數(shù)據(jù)通信的基石,它定義了客戶(hù)端(如瀏覽器或 Python 腳本)如何與服務(wù)器進(jìn)行交互,下面小編就帶大家深入了解一下Python中HTTP請(qǐng)求處理的相關(guān)知識(shí)吧
    2026-02-02
  • python腳本實(shí)現(xiàn)統(tǒng)計(jì)日志文件中的ip訪(fǎng)問(wèn)次數(shù)代碼分享

    python腳本實(shí)現(xiàn)統(tǒng)計(jì)日志文件中的ip訪(fǎng)問(wèn)次數(shù)代碼分享

    這篇文章主要介紹了python腳本實(shí)現(xiàn)統(tǒng)計(jì)日志文件中的ip訪(fǎng)問(wèn)次數(shù)代碼分享,注意此腳本只適用ip在每行開(kāi)頭的日志文件,需要的朋友可以參考下
    2014-08-08
  • Python開(kāi)發(fā)中避免過(guò)度優(yōu)化的7種常見(jiàn)場(chǎng)景

    Python開(kāi)發(fā)中避免過(guò)度優(yōu)化的7種常見(jiàn)場(chǎng)景

    今天我們來(lái)聊一個(gè)超火但又常常讓人“翻車(chē)”的話(huà)題:過(guò)度優(yōu)化,很多開(kāi)發(fā)者,特別是剛接觸Python的朋友,往往會(huì)被“高級(jí)技巧”迷了眼,結(jié)果搞得自己程序既不簡(jiǎn)潔,又不易維護(hù),那么,今天就來(lái)跟大家一起看看,Python開(kāi)發(fā)中哪些“高級(jí)技巧”其實(shí)是過(guò)度優(yōu)化,應(yīng)該盡量避免的
    2025-05-05
  • python中while和for的區(qū)別總結(jié)

    python中while和for的區(qū)別總結(jié)

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python中while和for的區(qū)別以及相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2019-06-06
  • 一文帶你掌握Python中多線(xiàn)程和線(xiàn)程池的使用方法

    一文帶你掌握Python中多線(xiàn)程和線(xiàn)程池的使用方法

    Python中的多線(xiàn)程和線(xiàn)程池是其強(qiáng)大的功能之一,可以讓我們更加高效地利用CPU資源,提高程序的運(yùn)行速度。本文將介紹Python中多線(xiàn)程和線(xiàn)程池的使用方法,并提供一些實(shí)用的案例供讀者參考
    2023-04-04
  • PyQt5+pycharm開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟(圖文)

    PyQt5+pycharm開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟(圖文)

    本文針對(duì)創(chuàng)建PyQt運(yùn)行環(huán)境+PyCharm開(kāi)發(fā)環(huán)境的過(guò)程進(jìn)行記錄,文中通過(guò)圖片示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 解決pip install gym==0.19.0安裝失敗問(wèn)題

    解決pip install gym==0.19.0安裝失敗問(wèn)題

    本文主要介紹了解決pip install gym==0.19.0安裝失敗問(wèn)題,通過(guò)創(chuàng)建Conda環(huán)境、檢查錯(cuò)誤信息、降級(jí)pip版本并重新安裝,最終成功解決了問(wèn)題
    2025-11-11
  • 如何使用Python在Excel中添加超鏈接

    如何使用Python在Excel中添加超鏈接

    本文將介紹如何使用 Python 和 Spire.XLS 庫(kù)在 Excel 工作表中添加各種類(lèi)型的超鏈接,包括網(wǎng)址鏈接、電子郵件鏈接、工作表內(nèi)部鏈接以及圖片超鏈接等,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • python創(chuàng)建n行m列數(shù)組示例

    python創(chuàng)建n行m列數(shù)組示例

    今天小編就為大家分享一篇python創(chuàng)建n行m列數(shù)組示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python?如何引用不確定的函數(shù)

    Python?如何引用不確定的函數(shù)

    在Python中,引用不確定的函數(shù)通常意味著我們可能在運(yùn)行時(shí)才知道要調(diào)用哪個(gè)函數(shù),或者我們可能想根據(jù)某些條件動(dòng)態(tài)地選擇不同的函數(shù)來(lái)執(zhí)行,下面給大家分享Python?如何引用不確定的函數(shù),感興趣的朋友跟隨小編一起看看吧
    2024-07-07

最新評(píng)論

苗栗市| 颍上县| 杭锦旗| 华容县| 明溪县| 东乡县| 鹤峰县| 桦甸市| 阜城县| 永登县| 海门市| 望谟县| 延川县| 根河市| 尼勒克县| 理塘县| 西乌珠穆沁旗| 会宁县| 平和县| 洛阳市| 合山市| 宁南县| 米易县| 安龙县| 新余市| 德安县| 玛曲县| 固原市| 靖边县| 博乐市| 德昌县| 西乌珠穆沁旗| 阳曲县| 廉江市| 嘉祥县| 武威市| 浮梁县| 临漳县| 泸水县| 聂荣县| 阿拉尔市|