iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
自我挑戰組

初學者Python的應用實作系列 第 10

DAY 10 while迴圈

簡介while迴圈

while迴圈和for迴圈不一樣的是,for迴圈收集項目的集合,並對集合中的每個項目執行一次程式區塊,而while迴圈在條件為真時會一直不斷地執行

範例如下 :

number = 1
while number < 6 : # 當number<6的時候
    print(number) # 印出number
    number = number + 1 # number加一後再存回number中
    #number = number + 1 也可以寫成 number += 1

上述程式碼的while的迴圈是怎麼跑的呢? 當number=1時進到了while迴圈,當number<6時就進入迴圈,第三行先印出number現在的值,然後進入第四行將number的值加一後,存回原本的number變數中,再回while迴圈判斷number是否<6,如果是就繼續跑迴圈,如果不是就結束迴圈

輸出結果 :

1
2
3
4
5

break敘述 & continue敘述

那如果說我們想要讓使用者自己決定結束的時間呢 ? 這時我們就要定義一個結束值,當使用者輸入結束值時,程式就會結束

  • break敘述與continue敘述
    1. 對於迴圈想要擁有更高的控制性
    2. 利用break在任何時候跳出迴圈
    3. 利用continue會返回迴圈的開頭,並檢測條件再判斷要不要繼續執行迴圈

break的範例如下 :

text = "enter your name or enter 'quit' to leave the program : "
while True : # 讓迴圈一直執行
    name = input(text) # 印出text字串將輸入的值存到name變數中
    
    if name == "quit" : # 當輸入quit時進入if區塊
        break # 跳出迴圈
    else :
        print("Hello,"+name)  

輸出結果 :

enter your name or enter 'quit' to leave the program : bonny
Hello,bonny
enter your name or enter 'quit' to leave the program : quit

continue的範例如下 :

number = 0
while number < 10 : # 當number<10就會繼續跑迴圈
    number += 1 
    if number % 3 != 0: # 判斷number是否不能被3整除
        continue # 如果不能被3整除就跳回迴圈一開始再加1
    
    print(number) # 如果可以被3整除就印出數字

輸出結果 :

3
6
9

怎麼處理無窮迴圈

甚麼是無窮迴圈 ? 就是讓迴圈永遠執行就叫無窮迴圈

範例如下 :

x=1
while x< 3: # 當x<3
    print(x) # 印出x

輸出結果 :

1
1
1
1
(省略,因為以下都是1)

Sol : 為了避免發生無窮迴圈,請確定程式中至少有個地方是會讓迴圈的條件式變成False或是有條break陳述句可執行

附上排版較精美的
HackMD網址 :https://hackmd.io/YgcrIx5XSbykOzU7x8HA6g?both

今天結束,各位明天見 ~~


資料來源:<<python程式設計的樂趣>>-Eric Matthes著/H&C譯


上一篇
DAY 09 使用者輸入
下一篇
DAY 11 while迴圈應用
系列文
初學者Python的應用實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言