【Python自學】while迴圈的基本案例,從函數到迴圈:讓程式動起來的魔法開關
Python-while迴圈
程式最重要的兩件事:1、函數;2、迴圈。
而在Python中,最常使用的迴圈是while迴圈。
如果說「函數」是程式自動化的基礎結構,那麼「迴圈」便是讓程式自動化的引擎。
基本語法
while 條件式 :
執行的程式碼
【備註】條件式回傳的值是布林值,不是true就是false。
執行邏輯
先檢查「條件式」是否為
True
若為 True → 執行縮排內的程式碼
執行完一圈後再回頭檢查條件式
若為 False → 跳出迴圈
基本範例
count = 1
while count <=
5:
print("目前次數:", count)
count += 1
# 每次加1,避免無限迴圈
輸出結果:
目前次數: 1
目前次數: 2
目前次數: 3
目前次數: 4
目前次數: 5
邏輯推演:
初始 count = 1
檢查 count
<= 5 → True → 執行 print()
執行 count +=
1 → 變 2
重複直到條件為
False(6 <= 5 不成立)→ 結束
無限迴圈(別陷入無限迴圈ㄚㄚㄚㄚㄚ!)
while True:
print("這會一直執行,除非你手動停止")
若是程式邏輯當中有跳出迴圈的合適點,通常會搭配 break 來跳出:
while True:
ans = input("輸入 q 離開:")
if ans == "q":
break
也就是說,在你填入q的時候,才能跳出迴圈,在此之前,程式執行都會是"輸入 q 離開:"。
這個方法很適合用在登入帳號密碼的程式當中。
迴圈好朋友(break 與 continue)
break和continue是while迴圈當中不可或缺的好夥伴。
break是跳出迴圈,而continue則是不理迴圈所設定的條件,繼續往下讀取。
num = 0
while num < 5:
num += 1
if num == 3:
continue # 跳過3,直接進下一圈
if num == 5:
break # 遇到5時結束迴圈
print(num)
輸出結果:
1
2
4
邏輯說明:
continue → 跳過這圈剩下的程式
break → 直接結束整個迴圈
while 迴圈常見應用
輸入驗證(直到符合條件才結束)
password = ""
while password != "1234":
password =
input("請輸入密碼:")
print("登入成功!")
重複運算直到條件結束
total = 0
n = 1
while n <= 10:
total += n
n += 1
print("1 加到 10 =", total)
經典數學案例
高斯小時候上課,數學老師想要整班上同學(讓他們安靜),就列出了1+2+3+4+5+…+100來考同學,高斯的解法是1+100=101,2+99=101,3+98=101……,而這樣的組合會有50組,所以答案是5050!讓我們為偉大的數學家鼓掌!
好了,讓我們用python的while迴圈解決這個問題:
程式設計:先設定變數
n = 1(從 1 開始)
total = 0(用來累加)
每次將目前的 n 加進 total
n 每次加 1
當 n 超過 100 時結束迴圈
n = 1
total = 0
while n <= 100:
total =
total + n # 將目前的 n 累加到 total
n += 1 # n 每次加 1,再回到判斷式判斷,避免無限迴圈
print("1 + 2 + 3 + ... + 100 =", total)
邏輯推演:
第一次:n=1 →
total=1
第二次:n=2 →
total=3
第二次:n=3 →
total=6
…
最後一次:n=100 →
total=5050
執行結果:
1 + 2 + 3 + ... + 100 = 5050
常見錯誤與陷阱
1、忘記更新條件變數 → 無限迴圈
2、while 條件設錯,導致永遠不執行
3、沒加縮排,導致語法錯誤(IndentationError)
【備註】假如不小心進到無限迴圈中的處理方式:
1、在「命令列 / 終端機」中:按下[Ctrl + C],Python 會停止目前執行的程式。
2、在「IDLE / VSCode / PyCharm」等編輯器裡:通常編輯器會有一個
「Stop」按鈕(紅色方形),點下去即可中止。或者用 快捷鍵 [Ctrl +
F2](視 IDE 而定)。
留言
張貼留言