Python入門 1 for和while迴圈超詳細用法教學

ai generated, woman, glass sphere-8719750.jpg

Python入門 教學for和while迴圈超詳細用法教學: for迴圈是常用的迭代結構,常見於多個不同程式語言,又被稱為計次型迴圈,
與之相對的while迴圈就是條件型迴圈,使用條件來判斷是否進入迴圈,需要注意的是,這兩個迴圈結構都是先判斷條件,再進入迴圈,也就是說:

程式開始 -> 判斷條件 -> (成立)執行 -> 判斷條件 -> (成立)執行 -> 判斷條件 -> (不成立)終止

這篇文章會詳細探討for 和 while的差異

迴圈示意

Python for 迴圈

for 元素 in 序列:

上面是for迴圈的基本結構,裡面的”元素”變數會依序指向”序列中的元素”
如果您是剛接觸Python,也可以看成這樣

for 變數 in 集合:

這個變數會在程式中變化,指向集合中的一個個內容

例如:

# 定義一個字串
message = "Hello, World!"

# 使用for迴圈遍歷字串中的每個字符
for char in message: #char是變數 #message是字符的集合
    print(char)
H
e
l
l
o
,
 
W
o
r
l
d
!

如你所見,”char”這個變數逐一地指向了”Hello, World!”(也就是message)的每一個字元,然後輸出出來

再來一個例子:

# 使用 for 迴圈遍歷範圍內的數字
for i in range(0, 5, 1): #也可以寫成range(5)
    print(i)
0
1
2
3
4

在for迴圈中,我們時常會搭配range函數來更方便的計數
用法如下range(起始值, 終止值, 步長),
要千萬注意的是,range函數為左閉右開區間,永遠不會跑報到終止值上,從上面的例子也可以看出來,輸出到四就停了。不過重要的是,輸出了0, 1, 2, 3, 4共5個數字(5次),因此for迴圈又被稱為計次型迴圈。
最後至於步長,就是一次跳幾個數,我們看下面的例子就理解了

# 每兩個輸出一次
for i in range(1, 10, 2):
    print(i)

輸出:

1
3
5
7
9

如果你已經理解了,那我們來試試下面的題目

題目

解答(僅供參考,可以更簡單):

t = int(input())
for i in range(1,t+1):
    a = [int(x) for x in input().split()]
    if a[0]+a[3]==a[1]+a[2]:a.append(a[3]*2-a[2])
    else:a.append(a[3]*a[3]//a[2])
    print(*a)

continue & break

使用 continue 時,迴圈會跳過當前迭代的剩餘程式,並繼續下一次迭代
而break則會強制跳出迴圈,真的就把迴圈break掉

例子:

# 定義一個字串
message = "Hello, World!"

# 使用for迴圈遍歷字串中的每個字符
for char in message:
    if char == ',':
        continue
    print(char)

輸出:

H
e
l
l
o
 
W
o
r
l
d
!

可以看到,逗號被跳過了。而下面,是同一個例子,不過把continue換成break

# 定義一個字串
message = "Hello, World!"

# 使用for迴圈遍歷字串中的每個字符
for char in message:
    if char == ',':
        break
    print(char)

輸出

H
e
l
l
o

可以看到,輸出時到達逗號後直接被終止了

Python while迴圈

while是python中另一種迴圈結構,他的長相如下

while 條件:
    # 執行程式

怎麼樣,看起來是不是更簡單了呢,這個條件可以是大於,小於,甚至是布林值,只要他能判定True or False的判斷式就可以,於是有了下面的例子

# 初始化計數器
count = 1

# 使用 while 迴圈
while count <= 5:
    print(count)
    count += 1  # 將計數器遞增

輸出:

1
2
3
4
5

至於continue與break,與for迴圈的用法一致,就不多加贅述,比較有趣的是,我們可以運用while(1)+break做出無窮迴圈

while(1)

例子:

# 初始化計數器
count = 1

# 使用 while 迴圈
while True: #或 while 1
    print(count)
    count += 1  # 將計數器遞增
    if count > 5:
        break  # 當計數器超過 5 時停止迴圈

輸出

1
2
3
4
5

不過這裡千萬要注意的是,使用while(1)時,一定要注意終止條件,不然會跑不完而產生RunTimeError

本篇的教學到此結束,關於此篇文章有甚麼想法歡迎留言,也可以看看我的深度學習或AI繪圖相關文章喔!

Back to Blog

返回頂端