In diesem Artikel werden wir den Unterschied zwischen „for“-Schleife und „while“-Schleife verstehen.
Eine for-Schleife ist eine Kontrollflussanweisung, die Code für eine vordefinierte Anzahl von Iterationen ausführt. Das in dieser Kontrollflussanweisung verwendete Schlüsselwort ist „for“. Verwenden Sie eine for-Schleife, wenn die Anzahl der Iterationen bekannt ist.
Die for-Schleife ist in zwei Teile unterteilt -
Titel – Dieser Teil gibt die Iterationen der Schleife an. Im Header-Abschnitt wird auch die Schleifenvariable deklariert, die dem Body mitteilt, welche Iteration ausgeführt wird.
Body – Der Body-Abschnitt enthält die Anweisungen, die für jede Iteration ausgeführt werden.
Initialisierungs-, Bedingungsprüfungs- und Iterationsanweisungen werden alle am Anfang der Schleife geschrieben.
Verwenden Sie es nur, wenn die Anzahl der Iterationen im Voraus bekannt ist.
Wenn in der „for“-Schleife keine Bedingung erwähnt wird, wird die Schleife unendlich oft wiederholt.
Die Initialisierung erfolgt nur einmal und wird nicht wiederholt.
Die Iterationsanweisung steht am Anfang.
Es wird also ausgeführt, sobald alle Anweisungen in der Schleife ausgeführt wurden.
for(initialization; condition; iteration){ //body of the 'for' loop }
Das folgende Programm verwendet eine for-Schleife, um alle Listenelemente zu drucken -
# 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)
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
Input list elements: 10 20 30 40 50
Schleife, die eine einzelne Anweisung oder eine Reihe von Anweisungen anhand einer bestimmten wahren Bedingung ausführt. Diese Schleife wird durch das Schlüsselwort „while“ dargestellt. Eine „while“-Schleife wird verwendet, wenn die Anzahl der Iterationen unbekannt ist. Wiederholen Sie diese Anweisung, bis der boolesche Wert falsch ist. Da die Bedingung zu Beginn der while-Schleife getestet wird, spricht man auch von einer Vortestschleife.
Initialisierung und Zustandsprüfung erfolgen am Anfang der Schleife.
Wird nur verwendet, wenn die Anzahl der Iterationen unbekannt ist.
Wenn in der „while“-Schleife keine Bedingung erwähnt wird, führt dies zu einem Kompilierungsfehler.
Wenn die Initialisierung während der Überprüfung der Bedingung erfolgt, erfolgt die Initialisierung jedes Mal, wenn die Schleife wiederholt wird.
Die Iterationsanweisung kann an jedem Punkt innerhalb der Schleife geschrieben werden.
while ( condition) { statements; //body of the loop }
Das folgende Programm verwendet eine for-Schleife, um alle Listenelemente zu drucken -
# 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
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
1 2 3 4 5 6 7 8 9
Eine for-Schleife wird verwendet, wenn wir die Anzahl der Iterationen kennen (d. h. wie oft eine Anweisung ausgeführt werden muss). Deshalb müssen wir beim Initialisieren der for-Schleife den Endpunkt definieren.
Wenn die Anzahl der Iterationen unbekannt ist, verwenden Sie eine While-Schleife. Dies kann verwendet werden, wenn wir eine Schleife basierend auf anderen Bedingungen als der Anzahl der Wiederholungen beenden müssen. In diesem Fall ist es nicht erforderlich, die Situation im Voraus zu kennen. Deshalb können wir bei der Initialisierung von Schleifen boolesche Ausdrücke verwenden.
Wenn in for- und while-Schleifen keine Bedingung angegeben ist, werden die Schleifen unendlich wiederholt.
Ohne Bedingungen, hier ist der Unterschied zwischen for-Schleife und while-Schleife -
For-Schleife – Im folgenden Beispiel wird die Schleife unendlich oft ausgeführt.
l = [1] for m in l: print("TutorialsPoint") l.append(m)
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint . . . . runs infinite times
Wir beginnen mit einer Liste und initialisieren sie mit einem einzelnen Zufallswert. Dann iterieren wir mit einer for-Schleife und dem in-Operator über die Elemente der Liste. Innerhalb der Schleife wird ein zufälliger Text ausgegeben und dann fügen wir der Liste ein weiteres Element hinzu, sodass die for-Schleife aufgrund des neuen Elements erneut ausgeführt wird. Diese Schleife wird unendlich oft ausgeführt.
While-Schleife – Im Beispiel unten wird die Schleife unendlich oft ausgeführt.
while True: print("TutorialsPoint")
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
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 循环的工作原理。
Das obige ist der detaillierte Inhalt vonWas ist in Python der Unterschied zwischen einer for-Schleife und einer while-Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!