close

 

在談for與while前,先說明一下迴圈是什麼。

 

  

* 迴圈(loop)是什麼?

套一下維基百科的解釋,迴圈是一種常見的控制流程。是一段在程式中只出現一次,但可能會連續執行多次的程式碼。迴圈中的程式碼會執行特定的次數,或者是執行到特定條件成立時結束迴圈,或者是針對某一集合中的所有項目都執行一次

 

控制條件成立時,讓程式重複執行某個指令

翻成白話文範例就是,當我開始吃蘋果,直到吃完前,都要搖呼拉圈

 

控制條件又可以分成:

翻成白話文範例就是,

    控制變數的初始值

     一顆完整的蘋果

    控制變數讓迴圈結束的條件

     吃完蘋果停止搖呼拉圈

    控制變數的更新值 (調整) 

     咬三口蘋果 (被咬三口)

 

 

* for迴圈(loop)

維基表示:「For迴圈是一種程式語言的迭代陳述,能夠讓程式碼反覆的執行。它跟其他的迴圈,如while迴圈,最大的不同,是它擁有一個迴圈計數器,或是迴圈變數。這使得For迴圈能夠知道在迭代過程中的執行順序。」python的for基本語法,可參考codecademy的loop說明

簡單來說,for迴圈以固定數量的變數,作為控制條件的重點。

 

範例1:使用串列(mylist)裡固定數量的字元,作為控制條件

mylist = ['a', 'b', 'c']

    for item in mylist:

               print item

# 執行結果:

a

b

c

 

範例2:使用range()做出固定數量的數值,作為控制條件

for item in range(0, 3 , 1):   #range(開始值,結束值(不算),間距),範例裡的間距為1,可省略不寫

     print item

# 執行結果:

0

1

2

 

 

* while迴圈(loop)

維基表示:「while迴圈是一種控制流程的陳述。利用一個返回結果為布林值的表達式作為循環條件,當這個表達式的返回值為「true」時,則反覆執行循環體內的程式碼;若表達式的返回值為「false」,則不再執行循環體內的代碼,繼續執行循環體下面的代碼。」python的while基本語法,可參考codecademy的loop說明

簡單來說,while迴圈某個條件,作為控制條件的重點。

由 for 與 while 各自範例也可發現,for的控制條件:包含初始值、讓迴圈結束的條件、更新值,通常都是寫在同一行裡面的。while則會將控制三兄弟,分散至迴圈內外。

 

範例1:控制變數(count)小於3,作為控制條件

count = 0                  #初始值

while count < 3:       #讓迴圈結束的條件

         print count

         count += 1       #更新值 (調整) 

# 執行結果:

0

1

2

 

範例2:while等於True,作為控制條件製造無窮迴圈

因為while本身就是依靠布林值判斷進入迴圈與否,故python的無窮迴圈通常用while做,在製造無窮迴圈時,特別注意需搭配限定條件使用(例如:if 跟 break),不然電腦就會跑到天涯海角GG都停不下來~囧

count = 0

while True:             #無窮迴圈起手式  

          print count

          count += 1

          if count > 2 :    #當count大於2時,迴圈結束

                    break

# 執行結果:

0

1

2

  

總結,while的控制在一個條件成立;for的控制則在一個範圍之內

以上。

arrow
arrow
    創作者介紹
    創作者 恩比柿 的頭像
    恩比柿

    恩比柿

    恩比柿 發表在 痞客邦 留言(0) 人氣()