溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是Python while循環(huán)

發(fā)布時(shí)間:2020-08-25 13:53:47 來源:億速云 閱讀:245 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)什么是Python while循環(huán),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

while 循環(huán)的語法格式如下:

[init_statements]
while test_expression :
    body_statements
    [iteration_statements]

while 循環(huán)在每次執(zhí)行循環(huán)體之前,都要先對(duì) test_expression 循環(huán)條件求值,如果循環(huán)條件為真,則運(yùn)行循環(huán)體部分。從上面的語法格式來看,迭代語句 iteration_statements 總是位于循環(huán)體的最后,因此只有當(dāng)循環(huán)體能成功執(zhí)行完成時(shí),while 循環(huán)才會(huì)執(zhí)行迭代語句 iteration_statements。

從這個(gè)意義上看,while 循環(huán)也可被當(dāng)成分支語句使用,即如果 test_expression 條件一開始就為假,則循環(huán)體部分將永遠(yuǎn)不會(huì)獲得執(zhí)行的機(jī)會(huì)。

下面程序示范了一個(gè)簡(jiǎn)單的 while 循環(huán):

# 循環(huán)的初始化條件
count_i = 0
# 當(dāng)count_i小于10時(shí),執(zhí)行循環(huán)體
while count_i < 10 :
    print("count:", count_i)
    # 迭代語句
    count_i += 1
print("循環(huán)結(jié)束!")

在使用 while 循環(huán)時(shí),一定要保證循環(huán)條件有變成假的時(shí)候:否則這個(gè)循環(huán)將成為一個(gè)死循環(huán),永遠(yuǎn)無法結(jié)束這個(gè)循環(huán)。例如如下代碼:

# 下面是一個(gè)死循環(huán)
count_i2 = 0
while count_i2 < 10 :
    print("不停執(zhí)行的死循環(huán):", count_i2)
    count_i2 -=1
print("永遠(yuǎn)無法跳出的循環(huán)體")

在上面代碼中,count_i2 的值越來越小,這將導(dǎo)致 count_i2 的值永遠(yuǎn)小于 10,count_i2<10 循環(huán)條件一直為 True,從而導(dǎo)致這個(gè)循環(huán)永遠(yuǎn)無法結(jié)束。

與前面介紹分支語句類似的是,while 循環(huán)的循環(huán)體中所有代碼必須使用相同的縮進(jìn),否則 Python 也會(huì)引發(fā)錯(cuò)誤。例如如下程序:

# 循環(huán)的初始化條件
count_i = 0
# 當(dāng)count小于10時(shí),執(zhí)行循環(huán)體
while count_i < 10:
    print('count_i的值', count_i)
count_i += 1

運(yùn)行上面程序,將會(huì)看到執(zhí)行一個(gè)死循環(huán)。這是由于 count_i += 1 代碼沒有縮進(jìn),這行代碼就不屬于循環(huán)體。這樣程序中的 count_1 將一直是 0,從而導(dǎo)致 count_i < 10 一直都是 True,因此該循環(huán)就變成了一個(gè)死循環(huán)。

使用while循環(huán)遍歷列表和元組

由于列表和元組的元素都是有索引的,因此程序可通過 while 循環(huán)、列表或元組的索引來遍歷列表和元組中的所有元素。例如如下程序:

a_tuple = ('fkit', 'crazyit', 'Charli')
i = 0
# 只有i小于len(a_list),繼續(xù)執(zhí)行循環(huán)體
while i < len(a_tuple):
    print(a_tuple[i]) # 根據(jù)i來訪問元組的元素
    i += 1

運(yùn)行上面程序,可以看到如下輸出結(jié)果:

fkit crazyit Charli

按照上面介紹的方法,while 循環(huán)也可用于遍歷列表。

下面示范一個(gè)小程序,實(shí)現(xiàn)對(duì)一個(gè)整數(shù)列表的元素進(jìn)行分類,能整除 3 的放入一個(gè)列表中;除以 3 余 1 的放入另一個(gè)列表中;除以 3 余 2 的放入第三個(gè)列表中:

src_list = [12, 45, 34,13, 100, 24, 56, 74, 109]
a_list = [] # 定義保存整除3的元素
b_list = [] # 定義保存除以3余1的元素
c_list = [] # 定義保存除以3余2的元素
# 只要src_list還有元素,繼續(xù)執(zhí)行循環(huán)體
while len(src_list) > 0:
    # 彈出src_list最后一個(gè)元素
    ele = src_list.pop()
    # 如果ele % 2不等于0
    if ele % 3 == 0 :
        a_list.append(ele) # 添加元素
    elif ele % 3 == 1:
        b_list.append(ele) # 添加元素
    else:
        c_list.append(ele) # 添加元素
print("整除3:", a_list)
print("除以3余1:",b_list)
print("除以3余2:",c_list)

關(guān)于什么是Python while循環(huán)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI