最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Day06-For、While迴圈(上)

XAMPP下载 admin 556浏览 0评论
 For迴圈
迴圈可以重複不停地做某些動作直到某個條件成立時,動作才會停止,總之就是個能重複進行運算的結構,以下為For迴圈的語法:

for 自訂變數 in range(起始值, 結束值, 遞增值)
#處理自訂變數的資料

if 關係運算式:
continue    #進入range數列的下一行

if 關係運算式:
break       #離開迴圈

這邊利用if判斷式去做結合主要是想同時介紹continue跟break指令的用法,我們來一一做說明:

第一行range()是Python的內建函式,它會依照傳入的參數,產生一個數列。這數列會從指定的起始值開始,到結束值的前一個為止。
那麼「自訂變數」是用來儲存數列中每一個值,但一次只存一個,且是從數列第一個值開始。
接下來在迴圈裡用if可以檢查判斷執行情況,或是增加自己需要的條件。同時可以利用continue指令跳過後面的程式碼,進入range數列的下一項,或是用break指令直接離開迴圈。
先來看看簡單的例子來理解一下~
total = 0

for i in range(1,11,1):
total += i

print(total)
rangr(1,11,1)會產生一個1到10的整數數列,然後數列每一項都會依序存入自訂變數i。每存一次,就會執行迴圈中的程式碼一次,也就是把數列累加進total裡,所以最後執行結果total是1到10的數字總和55拉~
那如果想改成計算偶數總和,就可以加入上方所提到的判斷跟指令,如下:

total = 0

for i in range(1,11,1):
if i % 2 != 0:
continue    #如果是奇數,會直接進行下一次迴圈

total += i

print(total)
如此就得出偶數和30囉~

While迴圈
當然並不是所有狀況都能用for迴圈去處理,假如想要程式一直重複去做某件事情,直到某個條件成立為止,而不是用次數去限制它,那麼就可以用條件迴圈(while)

while 關係運算式:
#迴圈程式碼

if 關係運算式:
continue    #進入range數列的下一行

if 關係運算式:
break       #離開迴圈

上方可看出與for迴圈差異並不大,唯一差別在於第一行的條件而已。while迴圈是利用關係運算式來控制迴圈是否執行,如果關係運算式執行結果是True,才會執行迴圈中的程式碼,反之False的話,則會離開迴圈。同樣while迴圈也可以用continue跟break指令來改變迴圈執行的流程,那麼先來看個範例:

total = 0
i = 1
while i <= 10:
total += i
i += 1      #改變變數值

print(total)
我故意拿了與for迴圈例子有相同執行結果的例子去做比較,兩個同樣是在算1到10的總和,不過while迴圈是檢查變數i是否為10以下,若不是則會跳出迴圈。可是用while迴圈去計算1到10的總和,還要增加一條i += 1去改變變數值,不如使用for迴圈來的簡潔,所以以下舉個適合while迴圈的範例:

score = int(input(‘請輸入成績:’))

while score < 0 or score > 100:
score = int(input(‘成績錯誤,請重新輸入:’))
這樣就能避免學生亂打成績,只限定成績在0到100之間,只要符合條件才能繼續下去,否則就要被困在無線迴圈裡了XD

迴圈使用時機
當需要重複進行運算的時候使用迴圈(for/while)
當重複的次數可以清楚被計算或當迭代的表現明顯時使用for迴圈
當重複的次數難以計算(但條件清楚)或是有條件的重複時使用while迴圈

转载请注明:XAMPP中文组官网 » Day06-For、While迴圈(上)

您必须 登录 才能发表评论!