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