484
不同於while需要計數進行迴圈,for迴圈主要是針對一個範圍裡的逐一項目進行迴圈。
什麼是一個範圍,以下是舉4個常見範例
- str
- range(0,1000)
- list
- tuple
- set
for 迴圈的格式
# for 項目代稱 in 一個範圍 :
# for迴圈裡的內容就都是用項目代稱執行
for i in [1,2,3] :
print (i)
#輸出結果
>>> 1
2
3
for迴圈不再侷限於數字,他可以對大部分的物件進行迴圈。
對字串進行迴圈
for word in "cat" :
print (word)
#輸出結果
>>> c
a
t
對list 進行迴圈
for fruit in [apple,banana] :
print (fruit)
>>> apple
banana
對一個範圍做迴圈
#範圍range的用法
#range(3) -> 從0開始,到3停止,不包含3
#range(2,10) -> 從2開始,到10停止,不包含10
for i in range(5) :
print (i)
for i in range(2,6) :
print (i)
#輸出結果
# >>> 0
1
2
3
# >>> 2
3
4
5
Nested Loops 巢狀迴圈
迴圈裡包裹著一個迴圈
#製作一個長度為5的list,裡面每個項目都是另一個項目存有1~3的list
outside_list=[]
for i in range(5) : #外清單長度為5
inside_list=[]
for j in range(3) : #內清單長度為3
inside_list.append(j)
outside_list.append(inside_list) #外清單增加一個內清單後,會到下一輪迴圈重新開始
print(outside_list)
#輸出結果
>>> [[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
情境設定 : 請安排 湘北、翔洋、海南、凌南 循環賽的賽程
All_teams = ["湘北","翔洋","海南","凌南"]
for A in All_teams :
for B in All_teams :
if A == B: # 自己與自己跳過
continue
print (A,B)
#輸出結果
>>> 湘北 翔洋
湘北 海南
湘北 凌南
翔洋 湘北
翔洋 海南
翔洋 凌南
海南 湘北
海南 翔洋
海南 凌南
凌南 湘北
凌南 翔洋
凌南 海南
其他特殊用法
Pass
for迴圈不能沒內容,如果由於特殊原因須有一個沒有內容的循環,請放入pass語句以避免出錯。
for i in range(5) :
pass
Break 跳出迴圈
設定特殊條件,條件符合時跳出迴圈。
#遇到3的倍數就跳出迴圈
for i in range(1,7) :
if i%3 ==0 :
print(i,"You jump, I jump.")
break
print (i)
>>> 1
2
3 You jump, I jump.
Continue 跳過此輪迴圈
#跳過3的倍數
for i in range(1,7) :
print (i)
if i%3 ==0 :
print ("這個數字被我神隱了")
>>> 1
2
3
這個數字被我神隱了
4
5
6
這個數字被我神隱了
Python 入門學習系列文章
- PYTHON 基本語法
- PYTHON 資料型態(概念介紹篇)
- PYTHON 資料型態(數字篇)
- PYTHON 資料型態(字串篇)
- PYTHON 資料型態(LIST)
- PYTHON 資料型態(DICT)
- PYTHON 資料型態(BOOLEANS)
- PYTHON 條件判斷算式(IF,ELIF,ELSE)
- PYTHON WHILE 迴圈
- PYTHON FOR 迴圈
- PYTHON DEF 函式
- PYTHON MODULES 模組
