Python Schleifen verstehen

PythonBeginner
Jetzt üben

Einführung

In diesem Lab erwerben Sie ein grundlegendes Verständnis von Schleifen (Loops) in Python, welche unverzichtbare Werkzeuge zur Automatisierung wiederkehrender Aufgaben sind. Wir beginnen mit der Untersuchung von for-Schleifen und dem Konzept der Iteration, wobei wir lernen, wie Sequenzen wie Listen und Strings verarbeitet werden.

Anschließend entdecken Sie, wie die Funktion range() mit for-Schleifen verwendet wird, um Zahlenfolgen zu generieren. Danach führen wir while-Schleifen für bedingungsabhängige Wiederholungen ein. Abschließend lernen Sie, wie der Ablauf sowohl von for- als auch von while-Schleifen mithilfe der Anweisungen break und continue gesteuert wird.

Einführung in For-Schleifen und Iteration

In diesem Schritt lernen Sie die for-Schleife in Python kennen. Eine for-Schleife wird verwendet, um über eine Sequenz wie eine Liste, ein Tupel oder einen String zu iterieren. Iterieren bedeutet, für jedes Element in der Sequenz nacheinander eine Aktion auszuführen.

Zuerst verwenden wir eine for-Schleife, um jedes Element einer Liste auszugeben.

Im WebIDE-Dateiexplorer auf der linken Seite sehen Sie eine Liste von Dateien. Suchen und öffnen Sie die Datei mit dem Namen for_loop_example.py. Fügen Sie den folgenden Python-Code hinzu:

## Define a list of numbers
numbers = [1, 2, 3, 4, 5]

## The for loop iterates over each item in the 'numbers' list.
## In each iteration, the current item is assigned to the 'number' variable.
for number in numbers:
  ## This code block is executed for each item.
  print(number)

Speichern Sie die Datei, indem Sie Strg + S drücken.

Um das Skript auszuführen, öffnen Sie das integrierte Terminal, indem Sie oben in der WebIDE auf Terminal -> New Terminal klicken. Führen Sie dann den folgenden Befehl aus:

python for_loop_example.py

Sie sollten die folgende Ausgabe sehen, wobei jede Zahl in einer neuen Zeile ausgegeben wird:

1
2
3
4
5

for-Schleifen können auch über Strings iterieren. Versuchen wir dies in einer neuen Datei. Öffnen Sie die Datei string_loop.py aus dem Dateiexplorer und fügen Sie diesen Code hinzu:

## Define a string
message = "Hello"

## Iterate over each character in the 'message' string
for char in message:
  ## Print each character
  print(char)

Speichern Sie die Datei und führen Sie sie im Terminal aus:

python string_loop.py

Die Ausgabe wird sein:

H
e
l
l
o

Dies demonstriert, dass eine for-Schleife jede Sequenz verarbeiten kann, wobei ein String als eine Sequenz von Zeichen behandelt wird.

Verwendung der range()-Funktion mit For-Schleifen

Die Funktion range() ist ein mächtiges Werkzeug, das häufig mit for-Schleifen verwendet wird, um eine Zahlenfolge zu generieren. Dies ist nützlich, wenn Sie eine Aktion eine bestimmte Anzahl von Malen wiederholen müssen.

Die Funktion range() kann auf drei Arten verwendet werden:

  • range(stop): Generiert Zahlen von 0 bis einschließlich stop - 1.
  • range(start, stop): Generiert Zahlen von start bis einschließlich stop - 1.
  • range(start, stop, step): Generiert Zahlen von start bis stop - 1 mit einer Schrittweite von step.

Sehen wir uns an, wie dies funktioniert. Öffnen Sie die Datei range_example.py aus dem Dateiexplorer und fügen Sie den folgenden Code hinzu:

## Use range(stop) to print numbers from 0 to 4
print("Numbers from 0 to 4:")
for i in range(5):
  print(i)

print("\n" + "="*20 + "\n") ## A separator for clarity

## Use range(start, stop) to print numbers from 2 to 5
print("Numbers from 2 to 5:")
for i in range(2, 6):
  print(i)

print("\n" + "="*20 + "\n") ## A separator for clarity

## Use range(start, stop, step) to print odd numbers from 1 to 9
print("Odd numbers from 1 to 9:")
for i in range(1, 10, 2):
  print(i)

Speichern Sie die Datei und führen Sie sie im Terminal aus:

python range_example.py

Sie sollten die folgende Ausgabe sehen:

Numbers from 0 to 4:
0
1
2
3
4

====================

Numbers from 2 to 5:
2
3
4
5

====================

Odd numbers from 1 to 9:
1
3
5
7
9

Beachten Sie, dass der stop-Wert niemals in die Sequenz aufgenommen wird. Wenn Sie eine Aktion eine feste Anzahl von Malen ausführen müssen, aber den Zählwert nicht benötigen, können Sie einen Unterstrich _ als Variablennamen verwenden. Dies ist eine gängige Konvention in Python.

## This loop will execute 5 times
for _ in range(5):
  print("Hello")

Einführung in While-Schleifen

In diesem Schritt lernen Sie die while-Schleife kennen. Im Gegensatz zu einer for-Schleife, die eine festgelegte Anzahl von Malen iteriert, wird eine while-Schleife so lange ausgeführt, wie eine angegebene Bedingung True (wahr) bleibt.

Die grundlegende Syntax einer while-Schleife lautet:

while condition:
  ## Code, der ausgeführt wird
  ## WICHTIG: Aktualisieren Sie eine Variable, um die Bedingung schließlich auf False zu setzen

Es ist entscheidend sicherzustellen, dass die Bedingung irgendwann zu False wird. Andernfalls erzeugen Sie eine Endlosschleife (infinite loop), die dazu führt, dass Ihr Programm unendlich läuft.

Erstellen wir ein Skript, das eine while-Schleife verwendet, um die Zahlen von 1 bis 5 auszugeben. Öffnen Sie die Datei while_loop_example.py und fügen Sie den folgenden Code hinzu:

## Initialize a counter variable
count = 1

## The loop continues as long as 'count' is less than or equal to 5
while count <= 5:
  ## Print the current value of count
  print(count)
  ## Increment count by 1. This is essential to prevent an infinite loop.
  count = count + 1 ## This can also be written as count += 1

Speichern Sie die Datei und führen Sie sie im Terminal aus:

python while_loop_example.py

Sie sollten die folgende Ausgabe sehen:

1
2
3
4
5

So funktioniert die Schleife:

  1. count wird mit 1 initialisiert.
  2. Die Bedingung count <= 5 wird überprüft. 1 <= 5 ist True, daher wird der Schleifenkörper ausgeführt.
  3. 1 wird ausgegeben und count wird auf 2 erhöht.
  4. Die Bedingung wird erneut überprüft. 2 <= 5 ist True, daher wird die Schleife fortgesetzt.
  5. Dieser Vorgang wiederholt sich, bis count den Wert 6 annimmt.
  6. Wenn count gleich 6 ist, ist die Bedingung 6 <= 5 False, und die Schleife wird beendet.

Verwenden Sie for-Schleifen, wenn Sie die Anzahl der Iterationen im Voraus kennen. Verwenden Sie while-Schleifen, wenn die Wiederholung von einer Bedingung abhängt, die sich während der Ausführung ändern kann.

Steuerung des Schleifenflusses mit break und continue

Python bietet zwei Anweisungen, break und continue, um den normalen Fluss einer Schleife zu verändern.

Die break-Anweisung beendet die aktuelle Schleife sofort. Die Ausführung wird mit der ersten Anweisung nach der Schleife fortgesetzt.

Sehen wir uns ein Beispiel an. Öffnen Sie die Datei break_example.py und fügen Sie diesen Code hinzu, der eine Schleife stoppt, wenn eine bestimmte Bedingung erfüllt ist:

## Iterate through numbers from 0 to 9
for i in range(10):
  ## If i is 5, the 'if' condition becomes True
  if i == 5:
    print(f"Breaking loop at i = {i}")
    ## The break statement exits the loop immediately
    break
  print(i)

print("Loop finished.")

Speichern Sie die Datei und führen Sie sie aus:

python break_example.py

Die Ausgabe wird sein:

0
1
2
3
4
Breaking loop at i = 5
Loop finished.

Die Schleife wurde gestoppt, als i gleich 5 wurde, und die Zahlen von 5 bis 9 wurden nie gedruckt.

Die continue-Anweisung überspringt den Rest der aktuellen Iteration und fährt mit der nächsten fort.

Sehen wir uns an, wie continue verwendet werden kann, um das Drucken einer bestimmten Zahl zu überspringen. Öffnen Sie die Datei continue_example.py und fügen Sie den folgenden Code hinzu:

## Initialize a counter
count = 0

## Loop while count is less than 10
while count < 10:
  count += 1
  ## If count is 5, the 'if' condition becomes True
  if count == 5:
    print(f"Skipping iteration at count = {count}")
    ## The continue statement skips the rest of this iteration
    continue
  ## This line is skipped when count is 5
  print(count)

print("Loop finished.")

Speichern Sie die Datei und führen Sie sie aus:

python continue_example.py

Die Ausgabe wird sein:

1
2
3
4
Skipping iteration at count = 5
6
7
8
9
10
Loop finished.

In diesem Fall wurde die continue-Anweisung ausgeführt, als count gleich 5 war. Dies führte dazu, dass die Zeile print(count) für diese Iteration übersprungen wurde, und die Schleife mit der nächsten Iteration fortfuhr, bei der count gleich 6 wurde.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen von Schleifen in Python gelernt. Sie begannen mit der for-Schleife und verwendeten diese, um über Sequenzen wie Listen und Strings zu iterieren. Anschließend haben Sie die range()-Funktion erkundet, um numerische Sequenzen für for-Schleifen zu erstellen.

Danach wurden Sie in die while-Schleife eingeführt, um Schleifen zu erstellen, die laufen, solange eine Bedingung wahr ist. Schließlich haben Sie gelernt, wie man die Schleifenausführung mit der break-Anweisung steuert, um eine Schleife vorzeitig zu beenden, und mit der continue-Anweisung, um eine Iteration zu überspringen. Diese Konzepte sind grundlegend für das Schreiben effizienter und leistungsstarker Python-Programme.