Python的while迴圈可能會讓初學者感到困惑。然而,一旦您理解了迴圈的概念,您就會意識到Python“迴圈”之前的“while”僅僅是一個條件語句。
讓我們看看Python的while迴圈,以及如何使用它來解決程式設計問題。
while迴圈後面有一個特定的條件。它決定了迴圈中發生的事情。當該條件保持為真時,迴圈中的表示式將繼續執行。
通常,在程式設計中需要遍歷列表或陣列的每個元素時,就會想到迴圈。while迴圈也會一直執行,直到迴圈中的語句停止它。
相關:While迴圈在計算機程式設計中是如何工作的
一個很好的例子是在一群羊中進行一次鑑定患病動物的檢查活動。透過將溫度限制設定為37度,可以將其歸因於while迴圈。任何高於這個值的值都意味著羊生病了。
在while迴圈中,你可以說:“當羊的體溫高於37度時,列印不健康。”
正如預期的那樣,只要設定的條件保持為真,while語句就會連續列印結果“不健康”。
如前所述,如果沒有設定停止while迴圈的條件,while迴圈將無限期執行。下面是不定while迴圈的示例:
while 3 < 5:print("It's less than 5")上面程式碼中while迴圈的條件是3<;5。
現在,讓我們看一下上一節中羊群檢查示例的while迴圈程式碼:
StdTemperature = 37 sheep_temp = 38 while sheep_temp > StdTemperature:print("unhealthy")else:print("healthy")在上面的程式碼片段中,溫度限制是37。綿羊溫度變數儲存每隻綿羊的溫度。只要溫度高於37度,while迴圈就會一直輸出“unhealth”;在這種情況下,這就是執行迴圈的條件。如果您將u temp更改為小於37的值,它將執行else語句。
但是,使用while迴圈來解決上述問題過於簡單,無法擴充套件。這是因為每次需要測試sheep時,都需要手動更改sheep\u temp變數的值。這意味著很難在陣列上操作它。對此的解決方案超出了本文的範圍。
儘管如此,該示例應該能讓您瞭解while語句在Python迴圈中的作用。
要停止程式碼連續執行,可以在示例程式碼中引入break語句,如下所示:
StdTemperature = 37 sheep_temp = 38 while sheep_temp > StdTemperature:print("unhealthy") breakelse:print("healthy")讓我們看看while迴圈的另一個用例,建立一個介於1和10之間的數字列表:
a = 11b = 1while b < a: a -= 1 print(a)上面的程式碼塊從數字10一直計數到1。您也可以這樣解釋語句:“當1小於11時,從任何前一個數字中減去1,並將其結果作為下一個計數。”它的工作原理是每次執行while指令時從前一個數字中刪除1。
您還可以修改上面的while迴圈,將每個輸出乘以2:
a = 11b = 1while b < a: a -= 1 print(a, "x", "2", "=", a*2)也可以將布林表示式與while迴圈一起使用。請看下面的程式碼片段,瞭解其工作原理:
a = 10b = 2while b < 10:b+=1print(b)if b==8:print(a)break上面的程式碼給出了一個輸出,它從3到10每隔一個整數進行計數,而不包括數字9。break表示式確保迴圈到達10時停止計數。為了理解它的相關性,可以刪除break語句,看看它是如何實現的。
但是,可以使用continue表示式來獲得相同的結果,而不是使用break。要了解其工作原理,請嘗試將上面的程式碼段與下面的程式碼段進行比較:
a = 10b = 2while b < 10: b+=1 if b==9: continue print(b)上面的程式碼不是用中斷來控制輸出,而是指示程式繼續計數而不考慮9。
您還可以修改上面的while迴圈以輸出1到10之間的所有偶數:
a = 10b = 1while b <= 10:b+=1if b%2==0: print(b)注意:如果不想用Python內建的IDLE執行這些示例,也可以使用Jupyter Notebook,但需要建立並激活Python虛擬環境才能使用該選項。
雖然Python中的While迴圈解決了實際事件中的特定問題,但在處理陣列集合時有一些限制。
實際上,與for迴圈不同,while迴圈在控制流語句中不提供特定性。然而,while迴圈也有其應用程式,因此掌握如何在程式中使用它是必要的。
...之前,這些語句執行一次。當迭代次數在開始時已知時,使用for迴圈。初始化首先發生。然後檢查測試表達式。如果為真,則執行迴圈。然後計算更新表示式。再次檢查測試表達式。如果為真,則執行迴圈。這個過程會重複,直...
關鍵區別–while與do while迴圈 在程式設計中,可能會有需要反覆執行語句塊的情況。大多數程式語言支援不同的控制結構,如for迴圈、while迴圈和do while迴圈來重複程式碼。迴圈允許多次執行一組語句,直到給定條件變為false。...
...r和while迴圈之間的關鍵區別在於,當迭代次數已知時可以使用for迴圈,而在迭代次數未知時可以使用while迴圈。 目錄 1. 概述和主要區別 2. 什麼是迴圈 3. 什麼是while迴圈 4. for和while迴圈之間的相似性 5. 並排比較-表格形式的for vs w...
... 然而,如果你不知道如何使用它,你可能會生氣。如果您不知道在程式碼中的什麼地方應用它,那就更令人沮喪了。在這裡,我們將透過一些實際例子向您展示如何在Python中使用列表理解。 ...
學習程式設計的關鍵第一步是使用迴圈。謝天謝地,PowerShell將隨著您的技能不斷增長。 ...
...迴圈型別之一是do while迴圈。讓我們討論一下這個迴圈是如何工作的,當您想使用它時,我們來看幾個例子。 ...
...資料型別告訴編譯器(或者在Python的情況下告訴直譯器)如何使用資料。資料結構指定可以執行的操作,並且通常實現特定的規則和規定。 ...
有沒有想過如何在兩種程式語言之間傳送資料?是否嘗試傳送一個物件或多個數據段? ...