iT邦幫忙

2024 iThome 鐵人賽

DAY 7
1
Python

Python入門基礎語法與應用系列 第 7

Day 7 Python入門基礎語法與應用-while迴圈&巢狀迴圈

  • 分享至 

  • xImage
  •  

今天的部分有while迴圈和巢狀迴圈!

while迴圈

while迴圈會在給定的條件為True的時候重複執行程式碼
用法是↓

while 條件:
# 執行的代碼

我用一個實際的例子來說明!
https://ithelp.ithome.com.tw/upload/images/20240807/20168211K5XKTabAYE.png
我先假設變數num是1
再來跑一個當num<10的時候,會跑以下程式碼的while迴圈!
現在num=1,所以會條件為True,會開始跑程式碼
先print現在num的值,然後再把num+1!
就會這樣一直跑,跑到9!

程式碼中有一個num+=1,就是num=num+1的意思!
其他的用法也是一樣!例如↓

num-=1 → num=num-1
num*=2 → num=num*2
num/=10 → num=num/10

以此類推!
在while迴圈中還有break和continue!

break:提前終止迴圈
continue:跳過當前迴圈的剩餘部分,馬上進入下一次的迴圈

先來一個break的範例!
https://ithelp.ithome.com.tw/upload/images/20240807/201682112rD9jRsGaY.png
我把if那部分的程式碼註解起來先不跑
我用while True來製造一個"無限迴圈"
數字會一直+1,跑不停!
所以遇到這種狀況的時候就需要break了!
https://ithelp.ithome.com.tw/upload/images/20240807/20168211ts7ONfeNeT.png
我再把註解拿掉,多跑兩行程式碼
如果count>5的時候就要break
這樣輸出就只會有1~5而已!

再來是continue的例子
https://ithelp.ithome.com.tw/upload/images/20240807/20168211XTLkVw5lik.png
這是一個只輸出0~20中的"偶數"的程式碼
num從0開始,直到num>20才會停止while迴圈!
每進入一次迴圈num就會+1,但下面多了一個判斷
"當num/2的餘數等於1的時候",也就代表它是奇數
當這個條件為True的時候就執行"continue"
跳過迴圈中剩下還沒跑的程式碼,直接進入下一次的迴圈
所以就不會把num輸出出來
這樣子寫的話,就可以只把偶數輸出出來了!

巢狀迴圈

巢狀迴圈就是迴圈裡面還有迴圈!
給大家看一個範例
https://ithelp.ithome.com.tw/upload/images/20240807/20168211WFglzZ1msN.png
先假設rows=3
下面的for迴圈指定i從1開始跑,結束值是rows+1,這是代表"行數"!
裡面還有一個迴圈,i的值會等於j的值,j在這邊是代表這行裡面有幾個*
而end=' '的意思是print之後不要換行,結尾是' ' 空格!
等那一行的"*"都輸出完後再用print()來空行!

我一開始學巢狀迴圈的時候會有點搞混每個迴圈的用意@@
真的要仔細思考跟多練習才比較熟練!

for迴圈和while迴圈的差異

for迴圈適合用在知道次數的時候~用來跑有固定範圍或序列中的每一個元素
while迴圈適合用在條件滿足的時候並反覆的執行,直到條件不符合

明天會介紹迴圈的應用~


上一篇
Day 6 Python入門基礎語法與應用-for迴圈
下一篇
Day 8 Python入門基礎語法與應用-迴圈應用
系列文
Python入門基礎語法與應用19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言