fbpx

一.前言: 

本文內容將會介紹Python While循環語句定義及語法,文章嵌入代碼示範如何使用。

 

二.大綱:

  • while 循環語句
  • 案例:輸入用戶資料
  • for與while間的選擇

 

三.while 循環語句

在程序編寫的過程中,在循環沒有固定次數的情況,會選擇使用while循環。

其基本語法結構為:

while( 條件式 ): #「( 條件式 )」的括號可省略 
    要執行的代碼

條件式 = True  → 執行程式區塊。
條件式 = False  → 結束 while 循環,繼續執行 while循環後面的代碼。

範例: 利用while循環,打印1-10的總和

流程說明:

  1. 迴圈開始時,n = 0;total = 0。
  2. 若符合 n < 10 條件,將會執行第 4-5 列程式,每次循環將 n 加 1 且 total 加 n。
  3. 最後print(total)將總和打印出來。

while 迴圈流程圖 : 

※注意:
在while迴圈中,需設定條件判斷的中止條件,否則迴圈將會進入死循環:

代碼範例:

流程說明:

  1. 注釋第四行 : 停止 n 在每次循環中都加 1 ,n 會一直 = 0。
    所以會一直滿足 n < 10的條件,會持續不斷進行循環。

四.案例:輸入用戶資料

實現:
設計一段代碼,讓管理員可以持續將會員消費金額輸入。並計算輸入的總金額及人均消費金額,直到管理員退出,程序自動結束。

代碼範例:

流程說明 :

  1. member : 會員/amount : 消費金額/total : 消費金額總和
    迴圈開始時,member = 0;amount = 0;total = 0。
  2. 若 amount 不等於 -1 ,執行5-7語句 : 讓使用者輸入會員消費金額,並計算總合;
    等於 -1跳出迴圈。
  3. 第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. 是否簡短?

其中1 > 2。也就是說,在能被理解中盡可能使程式碼愈簡潔愈好。

 

六.心得:

while迴圈也是Python中重要的語法,務必要練習到非常熟悉!

celia

celia

人生苦短,我用Python !

Leave a Reply