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

詳解Python中while無(wú)限迭代循環(huán)方法

 更新時(shí)間:2022年04月30日 10:36:53   作者:Mr數(shù)據(jù)楊  
Python 有 while 語(yǔ)句和 for 語(yǔ)句作為循環(huán)處理。雖然 for 語(yǔ)句具有一定數(shù)量的進(jìn)程,但 while 語(yǔ)句是直到滿(mǎn)足條件類(lèi)型的循環(huán)進(jìn)程。本文將詳解while無(wú)限迭代循環(huán)方法,需要的可以了解一下

前言

Python 有 while 語(yǔ)句和 for 語(yǔ)句作為循環(huán)處理。雖然 for 語(yǔ)句具有一定數(shù)量的進(jìn)程,但 while 語(yǔ)句是『直到滿(mǎn)足條件』類(lèi)型的循環(huán)進(jìn)程。

對(duì)于無(wú)限迭代 while,循環(huán)執(zhí)行的次數(shù)沒(méi)有事先明確指定。相反,只要滿(mǎn)足某些條件指定的塊就會(huì)重復(fù)執(zhí)行。

使用定義迭代 for,指定塊將被執(zhí)行的次數(shù)在循環(huán)開(kāi)始時(shí)已經(jīng)倍明確指定。

除了 while 語(yǔ)句的一般特性之外,Python 也有自己的規(guī)范,例如對(duì) do while 語(yǔ)句的支持不足。循環(huán)處理是編程的基本語(yǔ)法。

while循環(huán)

while <布爾計(jì)算的表達(dá)式>:
    <執(zhí)行的python語(yǔ)句> # 循環(huán)體

控制表達(dá)式 ,<布爾計(jì)算的表達(dá)式> 通常涉及一個(gè)或多個(gè)變量,這些變量在開(kāi)始循環(huán)之前被初始化,然后在循環(huán)體的某處可能會(huì)被修改。

當(dāng) while 遇到循環(huán)時(shí),首先在 Boolean context 中 <布爾計(jì)算的表達(dá)式> 進(jìn)行評(píng)估。

n = 5
while n > 0:
    n -= 1
    print(n)

輸出:

4
3
2
1
0

while 首先測(cè)試循環(huán)的控制表達(dá)式。假設(shè)開(kāi)始就為假,則循環(huán)體將永遠(yuǎn)不會(huì)被執(zhí)行。

n = 5
while n > 5:
    n -= 1
    print(n)

break語(yǔ)句 和 continue語(yǔ)句

while 循環(huán)的整個(gè)主體都在每次迭代中執(zhí)行,Python 提供了兩個(gè)過(guò)早終止循環(huán)迭代的關(guān)鍵字。

  • break 語(yǔ)句立即完全終止循環(huán)。程序執(zhí)行繼續(xù)到循環(huán)體之后的第一條語(yǔ)句。
  • continue 語(yǔ)句立即終止當(dāng)前循環(huán)迭代。執(zhí)行跳轉(zhuǎn)到循環(huán)的頂部,并重新評(píng)估控制表達(dá)式以確定循環(huán)是再次執(zhí)行還是終止。

# break 舉例
n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循環(huán)結(jié)束。')

輸出:

4
3
循環(huán)結(jié)束。

# continue 舉例
n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循環(huán)結(jié)束。')

輸出:

4
3
1
0
循環(huán)結(jié)束。

else 子句

Python 允許在循環(huán)else結(jié)束時(shí)使用可選子句。

while <布爾計(jì)算的表達(dá)式>:
    <執(zhí)行的python語(yǔ)句> # 循環(huán)體
else:
    <循環(huán)終止后執(zhí)行語(yǔ)句>

n = 5
while n > 0:
    n -= 1
    print(n)
else:
    print('Loop done.')

輸出:

4
3
2
1
0
Loop done.

# 如果有break某些情況下就不會(huì)倍執(zhí)行
n = 5
while n > 0:
    n -= 1
    print(n)
    if n == 2:
        break
else:
    print('循環(huán)結(jié)束。')

輸出:

4
3
2

無(wú)限循環(huán)

假設(shè)編寫(xiě)了一個(gè)while理論上永遠(yuǎn)不會(huì)結(jié)束的循環(huán)。

while True:
    print('真·三國(guó)無(wú)雙')

真·三國(guó)無(wú)雙
真·三國(guó)無(wú)雙
  .
  .
  .
真·三國(guó)無(wú)雙

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

這樣的循環(huán)只能手動(dòng)停止。

單實(shí)際上也有它的應(yīng)用,例如循環(huán)刪除列表中的元素。

list_ = ['真·三國(guó)無(wú)雙', '真·三國(guó)無(wú)雙', '真·三國(guó)無(wú)雙']
while True:
    if not list_ :
        break
    print(list_ .pop(-1))

輸出:

真·三國(guó)無(wú)雙
真·三國(guó)無(wú)雙
真·三國(guó)無(wú)雙

可以 break 在循環(huán)中指定多個(gè)語(yǔ)句。可以通過(guò) break 從幾個(gè)不同的位置結(jié)束循環(huán),而不必在循環(huán)頭中指定所有終止條件。

while True:
    if <布爾計(jì)算的表達(dá)式1>:  # 條件判斷1
        break
    
    if <布爾計(jì)算的表達(dá)式2>:  # 條件判斷2
        break
    
    if <布爾計(jì)算的表達(dá)式3>:  # 條件判斷3
        break

嵌套while循環(huán)

Python 控制結(jié)構(gòu)可以相互嵌套。

if age < 18:
    if gender == 'M':
        print('子供')
    else:
        print('娘')
elif age >= 18 and age < 65:
    if gender == 'M':
        print('父親')
    else:
        print('母親')
else:
    if gender == 'M':
        print('おじいさん')
    else:
        print('祖母')

while循環(huán)可以包含在另一個(gè)while循環(huán)中。

list_ = ['父親', '母親']
while len(list_ ):
    print(list_.pop(0))
    list__ = ['おじいさん', '祖母']
    while len(list__ ):
        print('>', list__.pop(0))

輸出:

父親
> おじいさん
> 祖母
母親
> おじいさん
> 祖母

在嵌套循環(huán)中找到的 break 語(yǔ)句適用于最近的封閉循環(huán)。

while <布爾計(jì)算的表達(dá)式1>:
    statement
    statement

    while <布爾計(jì)算的表達(dá)式2>:
        statement
        statement
        break  # 適用于 while <布爾計(jì)算的表達(dá)式2>: 循環(huán)

    break  # 適用于 while <布爾計(jì)算的表達(dá)式1>: 循環(huán)

while循環(huán)可以嵌套在 if、elif、else 語(yǔ)句中。

if <布爾計(jì)算的表達(dá)式1>:
    <python執(zhí)行語(yǔ)句1>
    while <布爾計(jì)算的表達(dá)式2>:
        <python執(zhí)行語(yǔ)句2>
        <python執(zhí)行語(yǔ)句3>
else:
    while <布爾計(jì)算的表達(dá)式3>:
        <python執(zhí)行語(yǔ)句4>
        <python執(zhí)行語(yǔ)句5>
    <python執(zhí)行語(yǔ)句6>

while <布爾計(jì)算的表達(dá)式1>:
    if <布爾計(jì)算的表達(dá)式2>:
        <python執(zhí)行語(yǔ)句1>
    elif <布爾計(jì)算的表達(dá)式3>:
        <python執(zhí)行語(yǔ)句2>
    else:
        <python執(zhí)行語(yǔ)句3>
    if <布爾計(jì)算的表達(dá)式4>:
        <python執(zhí)行語(yǔ)句4>

單行 while 循環(huán)

與 if 語(yǔ)句一樣,while 可以在一行中指定循環(huán)。也可以用 ;組成多個(gè)循環(huán)體語(yǔ)句。

n = 5
while n > 0: n -= 1; print(n)

輸出:

4
3
2
1
0

兩個(gè)復(fù)合語(yǔ)句組合成簡(jiǎn)寫(xiě)方式是不可以的。

if True: print('data')
data

while n > 0: n -= 1; if True: print('data')
SyntaxError: invalid syntax

以上就是詳解Python中while無(wú)限迭代循環(huán)方法的詳細(xì)內(nèi)容,更多關(guān)于Python while無(wú)限迭代的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python3跳出一個(gè)循環(huán)的實(shí)例操作

    python3跳出一個(gè)循環(huán)的實(shí)例操作

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python3跳出一個(gè)循環(huán)的實(shí)例操作內(nèi)容,有需要的朋友們可以參考下。
    2020-08-08
  • numpy基礎(chǔ)教程之np.linalg

    numpy基礎(chǔ)教程之np.linalg

    這篇文章主要給大家介紹了關(guān)于numpy基礎(chǔ)教程之np.linalg的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    本文主要介紹了Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python解決多線(xiàn)程運(yùn)行異步代碼報(bào)錯(cuò)"There?is?no?current?event?loop"

    Python解決多線(xiàn)程運(yùn)行異步代碼報(bào)錯(cuò)"There?is?no?current?event?loop

    在Python開(kāi)發(fā)中,我們經(jīng)常需要同時(shí)處理高并發(fā)網(wǎng)絡(luò)請(qǐng)求和CPU密集型任務(wù),不過(guò)當(dāng)嘗試在多線(xiàn)程環(huán)境中運(yùn)行異步代碼時(shí),可能會(huì)報(bào)錯(cuò)"There?is?no?current?event?loop",下面我們看看具體的解決方法吧
    2025-04-04
  • python之class類(lèi)和方法的用法詳解

    python之class類(lèi)和方法的用法詳解

    這篇文章主要介紹了python中class類(lèi)和方法的用法詳解,如果有不太清楚面向?qū)ο蟮念?lèi)和方法的編程思想的小伙伴可以借鑒參考本文
    2023-03-03
  • Python實(shí)現(xiàn)批量壓縮圖片

    Python實(shí)現(xiàn)批量壓縮圖片

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)批量壓縮圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 淺談python日志的配置文件路徑問(wèn)題

    淺談python日志的配置文件路徑問(wèn)題

    下面小編就為大家分享一篇淺談python日志的配置文件路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python批量插入數(shù)據(jù)到mysql的3種方法

    python批量插入數(shù)據(jù)到mysql的3種方法

    這篇文章主要給大家介紹了關(guān)于python批量插入數(shù)據(jù)到mysql的3種方法,在日常處理數(shù)據(jù)的過(guò)程中,我們都有批量寫(xiě)入數(shù)據(jù)庫(kù)的需求,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • python em算法的實(shí)現(xiàn)

    python em算法的實(shí)現(xiàn)

    這篇文章主要介紹了python em算法的實(shí)現(xiàn),幫助大家更好的理解機(jī)器學(xué)習(xí),感興趣的朋友可以了解下
    2020-10-10
  • Python 求數(shù)組局部最大值的實(shí)例

    Python 求數(shù)組局部最大值的實(shí)例

    今天小編就為大家分享一篇Python 求數(shù)組局部最大值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11

最新評(píng)論

贵定县| 垦利县| 南昌县| 望江县| 伊宁市| 平邑县| 吐鲁番市| 同仁县| 兰溪市| 马龙县| 忻州市| 江津市| 隆德县| 垣曲县| 靖州| 抚顺市| 永丰县| 昭平县| 云龙县| 旬阳县| 阿图什市| 元朗区| 乌兰县| 门源| 巴中市| 香港 | 绥芬河市| 昭觉县| 洛阳市| 兰考县| 平山县| 昌吉市| 自贡市| 衡南县| 磐安县| 汉源县| 上高县| 沙雅县| 杨浦区| 斗六市| 云梦县|