1.5 Python基礎知識 - while迴圈

來源:互聯網
上載者:User

標籤: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迴圈

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.