前言
本篇包含:
- 迴圈 (
loop
) 介紹 - 兩種迴圈:
for
loopwhile
loop
- 在迴圈中做點事情
- 一些簡單的練習
承上篇:外行開始的 Python – 基礎篇 (4/10):型態轉換、可變動與不可變動型態、常用內建函數
這篇先介紹兩種 loop,更多應用要配合條件控制 (if statement) 才能有更多花招。
A) 迴圈 (loop) 介紹
目的
- 重複執行多次任務,而不用重複寫一樣的程式碼
|
|
loop 的開始與結束會遵循給定的條件,一種是遍歷 (walk) 過所有的範圍,例如遍歷所有 list 中的 elements;另一種則是判斷是否符合條件,如果符合就繼續迴圈。
在 Python 中,loop 分別是這兩種:for
以及 while
。
B) for loop
說明
- 遍歷過
list
中所有的元素。 - 語法:
for <var_name> in <iterable objects>
,其中,<var_name>
是每一次迴圈「內」取出元素的變數名稱;可以參考以下幾個例子
|
|
- 這個迴圈中的元素變數叫做
element
;你可以自訂如i
,x
,my_var
等等,以「能清楚表達」所代表的意義為主。
甚至製作 list
不用這麼麻煩:
|
|
如果你想要的話,可以自己更改每一輪取值元素的變數名稱 (以下改成 num
):
|
|
- 有的時候,寫清楚變數名字可以讓編輯的時候更理解意義,例如:
|
|
NOTE:
- 事實上,
for
loop 不能說是「針對list
做遍歷」,而是對一個迭代器 (iterator
) 不斷找下一個 (next()
) 元素,直到找不到為止;這部分會在後面的章節補充說明。
C) while loop
說明
- 如果條件符合,則繼續進入 loop。
例如無窮迴圈:
|
|
|
|
D) 在迴圈中做點事情
在迴圈內,可以額外做更多事情,例如:
|
|
甚至可以重新指派「其他變數」
|
|
NOTE:
- 這時候變數
x
在這個迴圈內就沒有用到,只有「計算次數」的功能。 - 可以跟前一個例子仔細比較。
Q) 一些簡單的練習
q1:用 for loop
印出 1
~ 50
印出 1
~ 50
,不是 0
~ 49
,因此除了 range(50)
之外,還需要做一些調整?
q2:用 for loop
印出以下星號 *
的結果 (十行星號)
*
**
***
****
*****
******
*******
********
*********
**********