Try   HackMD

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

迴圈搭配的指令

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© #結束迴圈前,印出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
沒有整數平方根