首頁 >後端開發 >Python教學 >在Python中,for迴圈和while迴圈之間的差異是什麼?

在Python中,for迴圈和while迴圈之間的差異是什麼?

WBOY
WBOY轉載
2023-09-09 15:37:021688瀏覽

在Python中,for迴圈和while迴圈之間的差異是什麼?

在這篇文章中,我們將了解「for」迴圈和「while」迴圈之間的差異。

For 迴圈

for 迴圈是一種控制流程語句,它執行預先定義迭代次數的程式碼。這個控制流程語句中使用的關鍵字是「for」。當迭代次數已知時,使用 for 迴圈。

for迴圈分為兩部分 -

標題 - 這部分指定循環的迭代。在標頭部分中,也聲明了循環變量,它告訴主體正在執行哪個迭代。

主體 - 主體部分包含每次迭代執行的語句。

  • 初始化、條件檢查和迭代語句都寫在迴圈的開頭。

  • 只有在預先知道迭代次數時才使用它。

  • 如果「for」迴圈中未提及條件,則迴圈將迭代無限次。

  • 初始化只進行一次,並且不會重複。

  • 迭代語句寫在開頭。

  • 因此,一旦迴圈中的所有語句都執行完畢,它就會執行。

文法

for(initialization; condition; iteration){
   //body of the 'for' loop
}

範例

以下程式使用 for 迴圈列印所有清單元素 -

# input list
inputList = [10, 20, 30, 40, 50]
print("Input list elements:")
# traversing through all elements of the list using for loop
for element in inputList:
   # printing each element of the list
   print(element)

輸出

執行時,上述程式將產生以下輸出 -

Input list elements:
10
20
30
40
50

While 迴圈

針對給定的真條件執行單一語句或一組語句的迴圈。此循環由關鍵字“while”表示。當迭代次數未知時,使用「while」迴圈。重複該語句直到布林值為假。由於條件是在 while 迴圈開始時測試的,因此也稱為預測試迴圈。

  • 初始化和條件檢查在循環開始時完成。

  • 僅在迭代次數未知時使用。

  • 如果「while」迴圈中未提及條件,則會導致編譯錯誤。

  • 如果在檢查條件時完成初始化,則每次迭代循環時都會發生初始化。

  • 迭代語句可以寫在迴圈內的任一點內。

文法

while ( condition) {
   statements;
   //body of the loop
}

範例

以下程式使用 for 迴圈列印所有清單元素 -

# Initializing a dummy variable with 1
i = 1
# Iterate until the given condition is true
while i < 10:
   # printing the current value of the above variable
   print(i)
   # incrementing the value of i value by 1
   i += 1 

輸出

執行時,上述程式將產生以下輸出 -

1
2
3
4
5
6
7
8
9

什麼時候應該使用 For 和 While 迴圈?

當我們知道迭代次數(即一語句必須執行多少次)時,就會使用 for 迴圈。這就是為什麼當我們初始化 for 迴圈時,我們必須定義終點。

當迭代次數未知時,使用 while 迴圈。當我們需要根據重複次數以外的條件結束循環時,可以使用它。在這種情況下,沒有必要提前了解情況。這就是為什麼我們可以在循環的初始化中使用布林表達式。

在沒有條件的情況下

如果 for 和 while 迴圈中沒有指定條件,則迴圈將無限迭代。

在沒有條件的情況下,以下是 for 迴圈和 while 迴圈之間的差異 -

For Loop - 在下面的範例中,循環將運行無限次。

範例

l = [1]
for m in l:
   print("TutorialsPoint")
   l.append(m)

輸出

執行時,上述程式將產生以下輸出 -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

我們從一個列表開始,並使用單一隨機值對其進行初始化。然後,使用 for 迴圈和 in 運算符,我們遍歷了列表的元素。在循環內部,它將列印一些隨機文本,然後我們將另一個元素添加到列表中,因此 for 循環會因為新元素而再次執行。這樣循環就會被執行無限次。

While 迴圈 - 在下面的範例中,迴圈將運行無限次。

範例

while True:
   print("TutorialsPoint")

輸出

執行時,上述程式將產生以下輸出 -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

差异表

比较基础 For循环 While循环
关键字 使用for关键字 使用while关键字
已使用 当迭代次数已知时,使用 For 循环。 当迭代次数未知时使用While循环。
不存在条件 不存在条件时循环无限次运行 在不存在条件的情况下返回编译时错误
初始化的性质 一旦完成,不可重复 在while循环中,每次迭代都可以重复。
函数 要进行迭代,请使用 range 或 xrange 函数。 while循环中没有这样的函数。
基于迭代的初始化 在循环开始时完成。 在 while 循环中,可以在循环体中的任何位置执行此操作。
生成器支持 Python 的 for 循环可以迭代生成器。 While 循环不能直接在生成器上迭代。
速度 for 循环比 while 循环更快。 与 for 循环相比,While 循环相对较慢。

结论

在本文中,我们通过示例了解了 for 和 while 循环之间的区别,以及 while 和 for 循环的工作原理。

以上是在Python中,for迴圈和while迴圈之間的差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除