一.前言:
本文內容將會介紹Python While循環語句定義及語法,文章嵌入代碼示範如何使用。
二.大綱:
- while 循環語句
- 案例:輸入用戶資料
- for與while間的選擇
三.while 循環語句
在程序編寫的過程中,在循環沒有固定次數的情況,會選擇使用while循環。
其基本語法結構為:
while( 條件式 ): #「( 條件式 )」的括號可省略 要執行的代碼
條件式 = True → 執行程式區塊。
條件式 = False → 結束 while 循環,繼續執行 while循環後面的代碼。
範例: 利用while循環,打印1-10的總和
流程說明:
- 迴圈開始時,n = 0;total = 0。
- 若符合 n < 10 條件,將會執行第 4-5 列程式,每次循環將 n 加 1 且 total 加 n。
- 最後print(total)將總和打印出來。
while 迴圈流程圖 :
※注意:
在while迴圈中,需設定條件判斷的中止條件,否則迴圈將會進入死循環:
代碼範例:
流程說明:
- 注釋第四行 : 停止 n 在每次循環中都加 1 ,n 會一直 = 0。
所以會一直滿足 n < 10的條件,會持續不斷進行循環。
四.案例:輸入用戶資料
實現:
設計一段代碼,讓管理員可以持續將會員消費金額輸入。並計算輸入的總金額及人均消費金額,直到管理員退出,程序自動結束。
代碼範例:
流程說明 :
- member : 會員/amount : 消費金額/total : 消費金額總和
迴圈開始時,member = 0;amount = 0;total = 0。 - 若 amount 不等於 -1 ,執行5-7語句 : 讓使用者輸入會員消費金額,並計算總合;
等於 -1跳出迴圈。 - 第8句 : 計算人均消費金額
五.for與while間差別與選擇:
當for和while兩種不同的語法都能實現相同的功能。如下面代碼所示:
以計算1-100的總和來說,使用For迴圈只要4行程式碼:
sum = 0 for i in range(1, 101): sum += i print(sum)
使用While迴圈需要6行程式碼(空白行不算):
n = 0 sum = 0 while n < 100: n += 1 sum += n print(sum)
對於這個範例來說,使用for循環相對while循環僅需四行代碼就能實現相同功能,因此使用for循環是比較好的作法。
※ 總結:
該使用何種語法,基本上要考量以下二個問題:
- 程式是否容易理解?
- 是否簡短?
其中1 > 2。也就是說,在能被理解中盡可能使程式碼愈簡潔愈好。
六.心得:
while迴圈也是Python中重要的語法,務必要練習到非常熟悉!