Python基礎(chǔ)第十一講:詳細(xì)說一下 Python 的 while循環(huán)

在上一篇文章中,我們介紹了 Python 三大控制結(jié)構(gòu)
【小白學(xué) Python】吃了一頓火鍋,學(xué)會了 Python 三大核心控制結(jié)構(gòu):小心看餓了
今天,我們接著看一下 while 循環(huán)
Python提供了另一種循環(huán)模式即無限循環(huán),不需要提前知道循環(huán)次數(shù),
那就是while循環(huán)。
while循環(huán)一直執(zhí)行,指導(dǎo)制定的條件不滿足為止。
語法:
while 條件:語句組11. 循環(huán)也是以冒號(:)結(jié)尾2. 條件為各種算術(shù)表達式,a) 當(dāng)為真時,語句組1被重復(fù)執(zhí)行b) 當(dāng)為假時,停止執(zhí)行語句組13. 如果循環(huán)體忘記累計,條件判斷一直為真,則為死循環(huán)。循環(huán)體一直實行。a) 死循環(huán)有時候經(jīng)常被用來構(gòu)建無限循環(huán)b) 此時,可以使用ctrl+c終止,或者停止IDE

來看一個例子:
# 構(gòu)造計數(shù)器,記錄5次print('使用while循環(huán)構(gòu)造計數(shù)器,并且記錄5次')count_number = 0while count_number < 5:print(f'\t當(dāng)前數(shù)字是 {count_number}')count_number += 1使用while循環(huán)構(gòu)造計數(shù)器,并且記錄5次當(dāng)前數(shù)字是 0當(dāng)前數(shù)字是 1當(dāng)前數(shù)字是 2當(dāng)前數(shù)字是 3當(dāng)前數(shù)字是 4
為了更好的體驗,程序有時候使用用戶輸入。
在 Python 中使用函數(shù) input() 讓程序暫停工作,等待用戶輸入后接著執(zhí)行。
當(dāng)使用該函數(shù)時,一定要給出清晰而易于明白的指示,否則用戶不知道要輸入什么內(nèi)容。
例子# 計算任意數(shù)的和, 并計算出平均數(shù)sum = 0.0count = 0more_number = "yes"while "y" in more_number:# 使用y判斷是否繼續(xù)number =int(input("請輸入一個數(shù)字:"))sum = sum + numbercount = count + 1more_number = input("還想接著輸入數(shù)字嗎?(y or n)?")print("\n你輸入的所有數(shù)字的平均值是:", sum / count)請輸入一個數(shù)字:1還想接著輸入數(shù)字嗎?(y or n)?y請輸入一個數(shù)字:2還想接著輸入數(shù)字嗎?(y or n)?y請輸入一個數(shù)字:3還想接著輸入數(shù)字嗎?(y or n)?n你輸入的所有數(shù)字的平均值是:2.0
break與continue語句可以在循環(huán)結(jié)構(gòu)中使用,比如for,while。
break語句是立即退出while循環(huán),不再運行循環(huán)中余下的代碼,也不管條件判斷的結(jié)果是否為真。
break語句經(jīng)常被用來控制程序執(zhí)行流,也就是控制哪些代碼可以執(zhí)行,哪些代碼不執(zhí)行。
continue語句是結(jié)束本次循環(huán),返回到while語句開始的位置,接著條件判斷。
如果為真,程序接著執(zhí)行,否則退出。也就是當(dāng)循環(huán)或判斷執(zhí)行到continue語句時,continue后的語句將不再執(zhí)行,會跳出當(dāng)次循環(huán),繼續(xù)執(zhí)行循環(huán)中的下一次循環(huán)
兩者的區(qū)別是:
continue 語句跳出本次循環(huán),只跳過本次循環(huán)continue后的語句
break 語句跳出整個循環(huán)體,循環(huán)體中未執(zhí)行的循環(huán)將不會執(zhí)行
例子
# 點名系統(tǒng),一共100個人。當(dāng)數(shù)到50的時候,提示以下;當(dāng)數(shù)到60時,停止報數(shù)for i in range(101):if i == 50:print(f'你是第{i}名,請接著報數(shù)......')continue# 如果是第60個人,則停止循環(huán)if i == 60:print(f'你是第{i}名,停止報數(shù)!')break你是第50名,請接著報數(shù)......你是第60名,停止報數(shù)!
列表和字典可以存儲大量信息。
for循環(huán)可以遍歷其每一個元素或者鍵值對,但是我們不建議在for循環(huán)修改其值,否則導(dǎo)致Python不能正常運行;
如果遍歷列表或字典的同時,修改其值,我們推薦使用while循環(huán)。
例子1 :while操作列表
'''《甄嬛傳》之選秀1。首先創(chuàng)建一個秀女列表,其中魏瓔珞不是參選秀女2。再創(chuàng)建一個空的列表,用來收集已經(jīng)選中的秀女整個過程需要修改列表的元素'''xiu_nu = ['魏瓔珞','甄嬛','安陵容','沈眉莊','夏春']ru_xuan = []# 使用while循環(huán)選擇秀女,直到選擇結(jié)束# 把選中的修女收集起來,未選中的刪除while xiu_nu:kaoshi_xuanyu = xiu_nu.pop()print(f"正在參加選秀的修女是:{kaoshi_xuanyu}")if '魏瓔珞' in kaoshi_xuanyu:print(f'\t{kaoshi_xuanyu}不能參加本次選秀')else:print('\t恭喜 {} 入選'.format(kaoshi_xuanyu))ru_xuan.append(kaoshi_xuanyu)# 打印所有選中的秀女print('以下是選中的秀女人員名單:')for index in ru_xuan:print('\t'+index.title())正在參加選秀的修女是:夏春恭喜夏春入選正在參加選秀的修女是:沈眉莊恭喜沈眉莊入選正在參加選秀的修女是:安陵容恭喜安陵容入選正在參加選秀的修女是:甄嬛恭喜甄嬛入選正在參加選秀的修女是:魏瓔珞魏瓔珞不能參加本次選秀以下是選中的秀女人員名單:夏春沈眉莊安陵容甄嬛
再看一個例子:例子2: while操作字典
'''觀眾最喜歡的電視劇問卷調(diào)查'''# 構(gòu)建空的字典,存放調(diào)查結(jié)果favorite_television = {}while 1:# 構(gòu)建一個無限循環(huán)your_name= input("請輸入你最喜歡的電視劇明星的名字:")favorite_televisions = input("請輸入你最喜歡的他/她演過的電視劇名字:")favorite_television[your_name] = favorite_televisionsanother = input("是否還有人參與調(diào)查。如果輸入yes,繼續(xù),否則停止:")if another != 'yes':break# 結(jié)束調(diào)查,打印結(jié)果print("觀眾最喜愛的電視劇問卷調(diào)查情況:")for key,value in favorite_television.items():print(f'觀眾最喜歡的電視明星有:{key}。觀眾最喜歡的他/她演過的電視劇是 {value}.')請輸入你最喜歡的電視劇明星的名字:劉德華請輸入你最喜歡的他/她演過的電視劇名字:鹿鼎記是否還有人參與調(diào)查。如果輸入yes,繼續(xù),否則停止:yes請輸入你最喜歡的電視劇明星的名字:楊冪請輸入你最喜歡的他/她演過的電視劇名字:扶搖是否還有人參與調(diào)查。如果輸入yes,繼續(xù),否則停止:yes請輸入你最喜歡的電視劇明星的名字:秦嵐請輸入你最喜歡的他/她演過的電視劇名字:延禧攻略是否還有人參與調(diào)查。如果輸入yes,繼續(xù),否則停止:no觀眾最喜愛的電視劇問卷調(diào)查情況:觀眾最喜歡的電視明星有:劉德華。觀眾最喜歡的他/她演過的電視劇是鹿鼎記.觀眾最喜歡的電視明星有:楊冪。觀眾最喜歡的他/她演過的電視劇是扶搖.觀眾最喜歡的電視明星有:秦嵐。觀眾最喜歡的他/她演過的電視劇是延禧攻略.
以上就是 Python的循環(huán)結(jié)構(gòu)。希望您能有所收獲。
如果有問題,可以后臺或留言討論哦!
【提高】40多個項目實戰(zhàn),老手可以從真實場景中學(xué)習(xí)python;
【直播】不定期直播項目案例講解,手把手教你如何分析項目;
【分享】優(yōu)質(zhì)python學(xué)習(xí)資料分享,讓你在最短時間獲得有價值的學(xué)習(xí)資源;圈友優(yōu)質(zhì)資料或?qū)W習(xí)分享,會不時給予贊賞支持,希望每個優(yōu)質(zhì)圈友既能賺回加入費用,也能快速成長,并享受分享與幫助他人的樂趣。
【人脈】收獲一群志同道合的朋友,并且都是python從業(yè)者
【價格】本著布道思想,只需 69元 加入一個能保證學(xué)習(xí)效果的良心圈子。
