iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
0
自我挑戰組

從python入門到物聯網系列 第 9

Day09 - While迴圈

前言

昨天提到 For 迴圈,今天要說的是 While 迴圈,
兩者到底有什麼不一樣呢?

for 迴圈 => 用在已知需要幾次迴圈的狀況
while 迴圈 => 用在只知道條件,但不知道幾次迴圈的狀況

While迴圈

當while內的條件成立就會執行內部程式碼,當程式需要不斷重覆某些運算,一直到出現符合設置的條件狀況才停止,這種情形就比較適合用 while。
while用法:

while 條件:
    重複執行

跑出 0-9

x = 0
while (x < 10):
   print (x)
   x += 1

加總0~9

sum = 0
i = 1
while i < 10:
    sum += i
    i += 1 
print(sum)

結果

45

continue 與 break

continue

在迴圈通常要把“內部動作”執行完一遍之後,才會重新比對迴圈條件是否成立。但在某些時候我們希望他不要執行“內部動作”,跳過這次回圈,直接重新比對迴圈條件是否成立,這時候就是使用continue
通常搭配 if...當某個條件成立,就跳過“執行內容”直接進入下一個迴圈。

for 或 while ( ..... ):
    ......
    if (條件式)
        continue
    ......

範例: 0~9加總,但排除5

x=0
sum=0
while x<10:
    if(x==5):
        x+=1
        continue

    sum += x
    x += 1
print(sum)

結果

40

break

break 用來停止 while 執行,while 為True 表示迴圈永遠成立,會一直執行。如果在迴圈內部加上 if 判斷條件和 break,就能讓迴圈條件成立的情況下結束執行。

for 或 while ( ..... ):
    ......
    if (條件式)
        break
    ......

範例: 0~9加總,讓while 為True 表示迴圈永遠成立,當x=10則停止。

x = 0
sum = 0
while True:
    sum += x
    x += 1
    if(x==10):
        break
print(sum)

Try

來做個猜數字遊戲吧!
首先先亂數產生一個數字!
亂數產生需要用到

import random #先import random
number = random.randint(0,100) #random 的範圍為0~100

範例:

import random
number = random.randint(0,100)

max = 100
min = 1

while True:
    guess = int(input('Guess a number between '+ str(min) + ' and ' + str(max) + ': '))
    if guess < number:
        min = guess
    elif guess > number:
        max = guess
    else:
        print('Bingo! Number is ' + str(guess))
        break

玩玩看

Guess a number between 1 and 100: 80
Guess a number between 1 and 80: 50
Guess a number between 1 and 50: 25
Guess a number between 1 and 25: 10
Guess a number between 10 and 25: 20
Guess a number between 10 and 20: 15
Guess a number between 15 and 20: 18
Bingo! Number is 18

上一篇
Day08 - For迴圈
下一篇
Day10 - 字串處理
系列文
從python入門到物聯網30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言