---
# System prepended metadata

title: 8.Python 流程控制：迴圈進階控制，break、continue、else 命令 By 彭彭
tags: [學習, ' 紀錄']

---

---
title: 8.Python 流程控制：迴圈進階控制，break、continue、else 命令 By 彭彭

tags: 學習, 紀錄
---
 ## 8.Python 流程控制：迴圈進階控制，break、continue、else 命令 By 彭彭

{%youtube yBXlwOmLqZ4 %}

### 迴圈搭配的指令
1.break
2.continue
一定要寫在迴圈裡面 跟迴圈搭配

## break 強制結束迴圈
(一定要用在while或for in的迴圈裡)

* while 布林值：
    break
    
* for 變數名稱 in 列表與字串：
    break
    
* 程式範例
n=1
while n<5:
    if n==3:
        break
    n=n+1
print(n) #印出3
>3

## Continue 強制繼續下一圈
* while 布林值：
    continue
* for 變數名稱 in 列表或字串：
    continue
    
* 程式範例    
n=0
for x in[0,1,2,3]:(原本會跑四次 )
    if x %2==0: (代表x被2整除)
        continue
    n=n+1
print(n) #印出2

## else 迴圈結構最後可以加上else語法
### 基本語法
* while迴圈
while 布林值：
    若布林值為True,執行命令
    回到上方，做下一次迴圈判斷
else:
    迴圈結束前，執行此區塊的命令

* for迴圈
for 變數名稱 in列表或字串：
    將列表中的項目或字串中的字元逐一取出，逐一處理
else:
迴圈結束前，執行此區塊的指令

* 程式範例
n=1
while n<5
    print("變數的資料是：", n)
    n=n+1
else:
print(n) #結束迴圈前，印出5

---
for c in "Hello":
    print("逐一取的字串中的字元",c)
else:
print(c) #結束迴圈前，印出o

---
## break
n=0
while n<5:
    if n==3:
        break
    print(n) #印出迴圈中的n
    n=n+1
print("最後的n:",n) #印出迴圈結束後的n
>0
>1
>2
>最後的n:3

---
## continue 的建議範例

n=0
for x in[0,1,2,3]:
    if x%2==0:（x是偶數）取餘數
        continue
    print(x)
    n=n+1
print("最後的n:",n)
>1
>3
>最後的n:2
若符合if判斷式contunie會繼續跑迴圈內的下一個項目
## else 的建議範例
sum=0
for n in range(11): (0~10)
    sum+=n
else:
    print(sum) #印出0+1+2+3..+10
>55

## 綜合範例：找出整數平方根
輸入9得到3
輸入11 得到 『沒有整數平方根』
n=input("輸入一個正整數:")
n=int(n) 轉換輸入成數字
for i in range(n): #i從0~n-1
    if i * i==n:
        print("整數平方根",i)
        break #用break 強制結束的迴圈，不會執行else區塊
else:
print("沒有整數平方根")
>輸入一個正整數:25
>整數平方根 5
>輸入一個正整數:12
>沒有整數平方根
    