1.5 Python基础知识 - while循环
在我們生活中有很多反復(fù)要做的事情,或者動(dòng)作,我們稱之為循環(huán)。在開發(fā)程序中也會(huì)有循環(huán)的事情要去做,就是需要反復(fù)的去執(zhí)行某個(gè)代碼,或者反復(fù)進(jìn)行某種演算,直到達(dá)到某種條件的時(shí)候才會(huì)停止。在Python中我們使用的是while循環(huán)。
偽代碼:
當(dāng) 條件成立:
執(zhí)行循環(huán)體
直到條件不成立
?
代碼格式:
while ...:...?
示例代碼:
n = 0while n < 10:n = n + 1# 或者 n += 1print(n)# 執(zhí)行結(jié)果
1
2
3
4
5
6
7
8
9
10
在示例代碼中,我們將n賦值初始值為0,在while循環(huán)體對(duì)n進(jìn)行自增操作,直到n<10不成立,即n大于10,才結(jié)束循環(huán)。在循環(huán)中,我們要注意一定要有結(jié)束條件,不要造成無限循環(huán),即死循環(huán)。
下面我們?cè)倏匆粋€(gè)猜數(shù)字代碼示例:
number = 47while True:guess_number = input("請(qǐng)輸入你要猜的數(shù)字:")# 因?yàn)橥ㄟ^input接收到參數(shù)是字符串,我們需要將字符串轉(zhuǎn)換成數(shù)字,才可以進(jìn)行比較操作guess_number = int(guess_number)if guess_number == number:print("恭喜你猜對(duì)了!")breakelif guess_number > number:print("猜的太大了!")else:print("猜的太小了!")在猜數(shù)字示例代碼中,我們將變量number賦值數(shù)字47,這里的循環(huán)內(nèi)容是反復(fù)詢問用戶輸入數(shù)字,進(jìn)行比較,循環(huán)結(jié)束條件是:guess_number等于number,而跳出循環(huán)是由循環(huán)控制詞break進(jìn)行控制。在循環(huán)中控制循環(huán)的詞除了break還有continue。break,是跳出整個(gè)循環(huán),continue,是結(jié)束當(dāng)前循環(huán),繼續(xù)執(zhí)行下面的循環(huán)內(nèi)容。
continue示例:
n = 0while n<10:n += 1if n == 6:continueprint(n)# 執(zhí)行結(jié)果
1
2
3
4
5
7
8
9
10
在這個(gè)示例中,可以看出來,循環(huán)體對(duì)n不斷進(jìn)行自增操作,并打印出n的數(shù)值,當(dāng)n等于6的時(shí)候,遇到了continue,跳出了當(dāng)前的循環(huán),沒有打印出來,繼續(xù)執(zhí)行剩下的循環(huán)內(nèi)容,直到條件不滿足。
猜數(shù)字我們可以修改一下,在一定次數(shù)內(nèi)才可以猜到,限制猜的次數(shù)。
number = 47 count = 0 while count < 3:guess_number = input("請(qǐng)輸入你要猜的數(shù)字:")guess_number = int(guess_number)if guess_number == number:print("恭喜你猜對(duì)了!")breakelif guess_number > number:print("猜的太大了!")else:print("猜的太小了!")count +=1?
我們?cè)僭黾右粋€(gè)條件,當(dāng)猜的次數(shù)到達(dá)3次,退出循環(huán),并告知退出原因。
number = 47 count = 0 while count < 3:guess_number = input("請(qǐng)輸入你要猜的數(shù)字:")guess_number = int(guess_number)if guess_number == number:print("恭喜你猜對(duì)了!")breakelif guess_number > number:print("猜的太大了!")else:print("猜的太小了!")count +=1else:print("抱歉!你猜的次數(shù)太多了!")這里我們只是增加了else代碼塊,這里的意思是當(dāng)while中的循環(huán),正常循環(huán)完畢,while的循環(huán)條件不成立,(即count大于等于0),沒有經(jīng)過break而結(jié)束,才會(huì)執(zhí)行的代碼塊!
現(xiàn)在我們修改一下需求,當(dāng)猜的次數(shù)達(dá)到3次的時(shí)候,我們?cè)儐栍脩羰欠窭^續(xù),按‘n’退出,按任意鍵繼續(xù)。請(qǐng)看示例:
number = 47 count = 0 while count < 3:guess_number = input("請(qǐng)輸入你要猜的數(shù)字:")guess_number = int(guess_number)if guess_number == number:print("恭喜你猜對(duì)了!")breakelif guess_number > number:print("猜的太大了!")else:print("猜的太小了!")count += 1if count == 3:is_contin = input("是否繼續(xù)?如果要退出,請(qǐng)輸入‘n’。")if is_contin != 'n':count = 0我們可以看到當(dāng)每次循環(huán)3次,并且沒有猜到的時(shí)候,程序就會(huì)詢問用戶,是否繼續(xù)?如果輸入的是‘n’,程序就會(huì)退出!
while我們暫時(shí)學(xué)到這里!
?
轉(zhuǎn)載于:https://www.cnblogs.com/topspeedking/p/6399412.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的1.5 Python基础知识 - while循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt之可重入与线程安全
- 下一篇: C++11 并发指南六( atomic