400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python匯總的while語句怎么使用

【Python基礎(chǔ)知識(shí)】Python匯總的while語句怎么使用

  • 發(fā)布: python培訓(xùn)
  • 來源:python干貨資料
  • 2020-04-17 15:31:33
  • 閱讀()
  • 分享
  • 手機(jī)端入口

1、while循環(huán)語句

迭代(iteration)意味著反復(fù)執(zhí)行相同的代碼塊。實(shí)現(xiàn)迭代的編程結(jié)構(gòu)稱為循環(huán)(loop)。

假設(shè)有一項(xiàng)任務(wù),要在屏幕上輸出從1到100的數(shù)字。僅僅使用之前討論過的知識(shí),可能會(huì)寫出如下代碼:

  1. print(1
  2. print(2
  3. print(3
  4. # 此處省略print(4) ~ print(99) 
  5. print(100

這樣做非常麻煩,也不聰明。學(xué)會(huì)編程的好處之一就是可以方便地處理重復(fù)工作。Python中的循環(huán)可以分為while循環(huán)和for循環(huán)兩種。

與if語句類似,while語句同樣首先判斷布爾表達(dá)式,如果為真,那么繼續(xù)執(zhí)行循環(huán)體;如果為假,那么跳出循環(huán)體。while循環(huán)的語法格式如下:

while 表達(dá)式:

循環(huán)體

使用while循環(huán)來完成從1到100的輸出任務(wù):

  1. >>> n = 1   # 因?yàn)閺?開始打印,所以先將n賦值為1 
  2. >>> while n <= 100:   # 每次都判斷n的值是否小于等于100 
  3. ...     print(n)   # 打印n的值 
  4. ...     n = n + 1   # 每次將n的值增加1,以便打印2、3、4…… 
  5. ...  
  6. 1 
  7. 2 
  8. 3 
  9. 4 
  10. …… 
  11. 98 
  12. 99 
  13. 100 

while循環(huán)總是不斷地判斷條件是否滿足,直到條件不滿足才跳出循環(huán)。利用這個(gè)特性,可以編寫一個(gè)“猜數(shù)字”的游戲。先由一個(gè)人輸入一個(gè)數(shù)字(自然數(shù)),這個(gè)數(shù)作為謎底。再由另外一個(gè)人猜,如果猜的數(shù)字比謎底大,那么打印“猜大了”; 如果猜的數(shù)字比謎底小,那么打印“猜小了”;直到猜的數(shù)字與謎底相等為止,打印“恭喜,猜對(duì)了!”。代碼示例如下:

  1. answer = int(input('請(qǐng)輸入謎底數(shù)字:')) 
  2. number = int(input('請(qǐng)輸入您要猜的數(shù)字:')) 
  3. while number != answer:   # 如果number不等于answer,即猜錯(cuò)了,那么進(jìn)入循環(huán) 
  4.     if number > answer:   # 如果猜的數(shù)字大于謎底 
  5.         print('猜大了!'
  6.     else:   # 如果猜的數(shù)字小于謎底 
  7.         print('猜小了!'
  8.     number = int(input('請(qǐng)繼續(xù)輸入您要猜的數(shù)字:')) 
  9. print('恭喜,猜對(duì)了!')   # 如果跳出循環(huán),那么說明猜對(duì)了 

建議將這個(gè)程序使用腳本模式運(yùn)行,輸入數(shù)據(jù),測試運(yùn)行結(jié)果:

  1. 請(qǐng)輸入謎底數(shù)字:77 
  2. 請(qǐng)輸入您要猜的數(shù)字:20 
  3. 猜小了! 
  4. 請(qǐng)繼續(xù)輸入您要猜的數(shù)字:90 
  5. 猜大了! 
  6. 請(qǐng)繼續(xù)輸入您要猜的數(shù)字:80 
  7. 猜大了! 
  8. 請(qǐng)繼續(xù)輸入您要猜的數(shù)字:77 
  9. 恭喜,猜對(duì)了! 

2、小心死循環(huán)

死循環(huán)是指程序在流程控制中一直重復(fù)運(yùn)行某一段代碼,無法依靠自身的控制終止循環(huán)。初學(xué)者很容易不小心寫出死循環(huán)。例如,在前文使用while循環(huán)完成從1到100的輸出任務(wù)中,如果將最后一行代碼“n = n + 1”刪掉,那么該循環(huán)就變成了死循環(huán)。這是因?yàn)閚的值不會(huì)增加,從而會(huì)一直滿足“n <= 100”的條件無法跳出循環(huán)。試著運(yùn)行如下代碼:

  1. >>> n = 1 
  2. >>> while n < 100
  3. ...     print(n) 
  4. ...     
  5. 1 
  6. 1 
  7. 1 
  8. 1 
  9. 1 
  10. 1 
  11. 1 
  12. 1 
  13. …… 

當(dāng)敲下最后一個(gè)回車鍵時(shí),程序會(huì)在屏幕上不停地打印1,直到強(qiáng)制關(guān)閉程序窗口,或者按Ctrl+C鍵終止程序。死循環(huán)可能會(huì)使電腦崩潰或者造成其他與預(yù)期不符的后果,因此,在使用while循環(huán)時(shí)要格外小心,看看是否有能夠滿足條件跳出循環(huán)的“出口”。

需要指出的是,有些應(yīng)用場景下需要使用死循環(huán)(例如,操作系統(tǒng)最外層是死循環(huán),保證電腦一直運(yùn)行),也就是說寫出死循環(huán)不一定是錯(cuò)的,但應(yīng)該僅當(dāng)清楚自己在做什么時(shí),才寫死循環(huán)。

文章“【Python基礎(chǔ)知識(shí)】Python匯總的while語句怎么使用”已幫助

>>本文地址:http://hqfphsz.com/zhuanye/2020/48635.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME