標籤:while 賦值 inpu bsp 限制 style 跳出迴圈 注意 code
在我們生活中有很多反覆要做的事情,或者動作,我們稱之為迴圈。在開發程式中也會有迴圈的事情要去做,就是需要反覆的去執行某個代碼,或者反覆進行某種演算,直到達到某種條件的時候才會停止。在Python中我們使用的是while迴圈。
虛擬碼:
當 條件成立:
執行迴圈體
直到條件不成立
代碼格式:
while ...: ...
範例程式碼:
n = 0while n < 10: n = n + 1 # 或者 n += 1 print(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("恭喜你猜對了!") break elif guess_number > number: print("猜的太大了!") else: print("猜的太小了!")
在猜數字範例程式碼中,我們將變數number賦值數字47,這裡的迴圈內容是反覆詢問使用者輸入數字,進行比較,迴圈結束條件是:guess_number等於number,而跳出迴圈是由迴圈控制詞break進行控制。在迴圈中控制迴圈的詞除了break還有continue。break,是跳出整個迴圈,continue,是結束當前迴圈,繼續執行下面的迴圈內容。
continue樣本:
n = 0while n<10: n += 1 if n == 6: continue print(n)
# 執行結果
1
2
3
4
5
7
8
9
10
在這個樣本中,可以看出來,迴圈體對n不斷進行自增操作,並列印出n的數值,當n等於6的時候,遇到了continue,跳出了當前的迴圈,沒有列印出來,繼續執行剩下的迴圈內容,直到條件不滿足。
猜數字我們可以修改一下,在一定次數內才可以猜到,限制猜的次數。
number = 47count = 0 while count < 3: guess_number = input("請輸入你要猜的數字:") guess_number = int(guess_number) if guess_number == number: print("恭喜你猜對了!") break elif guess_number > number: print("猜的太大了!") else: print("猜的太小了!") count +=1
我們再增加一個條件,當猜的次數到達3次,退出迴圈,並告知退出原因。
number = 47count = 0while count < 3: guess_number = input("請輸入你要猜的數字:" guess_number = int(guess_number) if guess_number == number: print("恭喜你猜對了!") break elif guess_number > number: print("猜的太大了!") else: print("猜的太小了!") count +=1else: print("抱歉!你猜的次數太多了!")
這裡我們只是增加了else代碼塊,這裡的意思是當while中的迴圈,正常迴圈完畢,while的迴圈條件不成立,(即count大於等於0),沒有經過break而結束,才會執行的代碼塊!
1.5 Python基礎知識 - while迴圈