1. 程式人生 > >5 迴圈控制

5 迴圈控制

 

 

1 while 迴圈

語法

while  條件:
        執行程式碼。。。

 簡單吧, while 就是當的意思,當山峰沒有稜角的時候,當河水。。。,sorry , while 指 當其後面的條件 成立 ,就執行while下面的程式碼

  • 從0列印到100的程式,每迴圈一次,+1
#!/usr/bin/env python 
#$ coding:utf-8 $
#__Author__:Peter Du

count = 0
while count <=100:
    
print("loop",count) count += 1 print("----loop end----")

結果

 

count  = 0
while count<= 100:
    if count % 2 ==0:
        print("loop",count)
    count += 1
print("----loop end----")

#執行結果
loop 82
loop 84
loop 86
loop 88
loop 90
loop 92
loop 94
loop 96
loop 98
loop 
100 ----loop end----

 

#第50次不列印,第60-80列印對應值的平方
count = 0
while count <= 100:
    if count == 50:
        pass
    elif 60 <= count <= 80:
        print("loop",count**2)
    else:
        print("loop",count)
    count += 1

print("----loop end----")

#執行結果
loop 46
loop 47
loop 
48 loop 49 loop 51 loop 52 loop 53 loop 54 loop 55 loop 56 loop 57 loop 58 loop 59 loop 3600 loop 3721 loop 3844 loop 3969 loop 4096 loop 4225

2 死迴圈:dead loop

有一種迴圈叫死迴圈,一經執行,就一直執行

while 是隻要後邊條件成立,(也就是條件結果為真)就一直執行,怎麼讓條件為真呢?

 

count = 0
while True: #True本身就是真呀

    print("你是風兒我是沙,纏纏綿綿到天涯...",count)
    count +=1

 

3 迴圈終止語句

如果在迴圈過程中,因某些原因,不想迴圈,需用break 或者 continue 語句

  • break 用於結束一個迴圈,跳出迴圈體執行迴圈後面的語句
  • continue 和break 有點類似,區別在於continue 只是終止本次迴圈,接著還執行後面的迴圈,break 則完全終止迴圈

break 例子

count = 0
while count <= 100:
    print("loop",count)
    if count == 5:
        break
    count += 1
    
print("---out of while loop---")

#執行結果
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
---out of while loop---

 

continue 案例

 
 
count = 0
while count <= 100:
print("loop",count)
if count == 5:
continue
count += 1

print("---out of while loop---")

#執行結果
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
loop 5
loop 5
loop 5
loop 5
loop 5     # 一直迴圈下去
...
 
 

 continue 案例2

count = 0
while count <= 100:
    count += 1
    if count > 5 and count <95:
        continue
    print("loop ",count)

#執行結果
loop  1
loop  2
loop  3
loop  4
loop  5
loop  95
loop  96
loop  97
loop  98
loop  99
loop  100
loop  101

Process finished with exit code 0

 

3 猜年齡

練習1

 

age = 22
n=0
while n < 3:
    print("input you age")
    user_age = int(input())
    if user_age < age:
        print("small")
    elif user_age > age:
        print("big")
    else:
        print("bingo")
        break
    n += 1

    if n==3:
        choice = input("請問你還想繼續遊戲嗎?y|n")
        if choice=='y':
            n=0
        else:
            break
#執行結果

input you age
10
small
input you age
30
big
input you age
22
bingo

 
 

Process finished with exit code 0

 

練習2

from random import randint
num = randint(1,100)

print("請輸入你的數字")

bingo = False

while bingo == False:
    user_num = int(input())

    if user_num < num:
        print("small")
    elif user_num > num:
        print("big")
    else:
        print("bingo")
        bingo = True

#執行結果
請輸入你的數字
10
small
50
big
30
small
40
big
35
bingo

Process finished with exit code 0

4 while ...else 語法

與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句

while 後面的else 作用是指,當while 迴圈正常執行完,中間沒有被break 中止的話,就會執行else後面的語句