在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中文網其他相關文章!

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6
視覺化網頁開發工具