Python while: Wie funktionieren while-Schleifen?

Hallo lieber Leser! Du möchtest endlich verstehen, wie Python while Schleifen funktionieren? Du möchtest anhand eines Tutorials Schritt-für-Schritt verstehen, wie while und break in Python zusammenspielen? Perfekt, dann bist du auf dieser Seite genau richtig! Mastere Python while Schleifen, break und else im heutigen Tutorial!

Verstehe und programmiere Python while Schleifen!

In diesem Post auf meinem Blog widmen wir uns ausschließlich dem Thema while Schleifen, break und else in der Programmiersprache Python.

Falls du lieber Videos schaust, scroll‘ gerne runter bis zum Ende dieses Beitrags und schau‘ auf meinem YouTube-Kanal vorbei.

Python while Schleifen

Python while Schleifen: Dein Tutorial

Los geht’s!

Python while Schleifen: In 6 Schritten meisterst du die while Schleifen und kannst mit break arbeiten

 Wichtige Voraussetzung: Installation von Python und Editor (bzw. Jupyer-Notebook)

Falls ihr Python (die Programmiersprache, nicht die Schlange :)) noch nicht auf eurem Rechner installiert habt, könnt ihr Python auf dieser Webseite https://www.python.org/ downloaden und installieren. Auf der Homepage findet ihr alle Informationen für euer Betriebssystem.

Ihr könnt prüfen, ob die Installation erfolgreich war, indem ihr python in die Kommandozeile eingebt. Bei Windows müsst ihr dafür einfach nur in der Windowssuche „cmd“ eingeben und es öffnet sich das Terminal. Bei Mac OS x reicht die Suche nach Terminal. Sobald ihr in der Kommandozeile python eingegeben habt, sollte euch eure installierte Python-Version (z. B. 3.7.) angezeigt werden.

Für das heutige Tutorial nutze ich Jupyter Notebook aus dem Anaconda-Navigator. Den Download der Anaconda-Distribution findet ihr hier. Ihr dürft aber auch selbstverständlich jeden anderen Python-Editor (z. B. Spyder, VS Code, Eclipse,..) verwenden.

Was sind denn while-Schleifen überhaupt?

While-Schleifen wiederholen Abfolgen von Anweisungen unter Berücksichtigung von Bedingungen. Dies geschieht solange, bis eine Bedingung als False ausgewertet wird. False (Falsch) ist vom Datentyp boolean und damit ein Wahrheitswert. Er ist das Gegenteil zum Boolean True. Um dies tun zu können, müssen wir also eine Bedingung definieren, welche geprüft wird.

Schritt 1: Wie sieht eine while Schleife aus: Deine erste eigene Python while Schleife

zahl = 2 # Hier weisen wir der Variable zahl den Integerwert 2 zu
# Syntax der while-Schleife wieder analog zur if-Anweisung
while zahl < 5:
# Das Signalwort while kündigt eine while-Schleife an
# Beachte die Einrückungen (vergleiche mit Syntax der
# if/else-Schleife!: Siehe Blogbeitrag:
# http://python-programmieren.maximilianwittmann.de/python-if/)
# Unsere Bedingung ist: Solange die zahl kleiner als 5 ist, mache ...

# Diese Anweisung(en), welche bei korrekter Bedingung ausgeführt werden soll, schreiben wir nach dem Doppelpunkt

# Beispiel für eine einfache Anweisung:
zahl = 2

while zahl < 5:

print(zahl)
# Solange die obige Bedingung erfüllt wird, drucke die Zahl aus

# ABER ACHTUNG: Wenn du die obige Bedingung genau prüfst,
# wirst du merken, dass wir den Wert der Variable Zahl nie ändern.
# --> D. h.: Wir haben eine Endlosschleife gebildet, die
# auf alle Ewigkeit die Zahl 2 in die Konsole schreibt.
# Das ist deshalb der Fall, weil die Bedingung IMMER erfüllt
# wird.

# Beenden wir deshalb die Schleife durch Klick auf Stopp.

Python while Schleife: Verwende while und summiere Integer-Zahlen auf

i = 1 # Wir weisen der Variablen i den Wert 1 zu
while i < 20:
# Hier wollen wir die Anweisung solange ausführen, solange i kleiner
# als die Zahl 20 ist
print(i) # Wir lassen uns die aktuelle Zahl des Durchlaufs ausgeben
i += 2
# Wir erhöhen die Zahl bei jedem Durchlauf um 2. Das ist nur eine
# andere Schreibweise für: i = i + 2
# Wir wollen den Wert von i verändern, um nicht wieder eine
# Endlosschleife zu erzeugen. Fantastisch. Damit hast du ein gutes
# Grundwerkzeug erlernt.


Python while vs. for: Kurzes Beispiel 

Hast du eine Idee, wie wir den gleichen Code der letzten while Schleife mit einer for-Schleife erhalten könnten? 
Ich zeige es dir:

for i in range(1, 20, 2):
print(i)

In der Vorschleife iterieren wir (d. h. wir durchlaufen) ebenfalls die
Zahlen von 1 bis inklusive (!) 19. Das teilen wir in den runden Klammern
der Range mit. 1 ist der Anfangswert und 20 entspricht der oberen Grenze.
Diese Zahl 20 ist aber exklusive! Der letzte Parameter 2 bezieht sich auf die Schrittweite.


Meine Empfehlung: Falls ihr noch keinerlei Kenntnisse in der Python-Programmierung habt und unbedingt Python lernen möchtet: Startet durch mit dem Online-Kurs Python Programming Bootcamp von Derek Banas. Ich habe den Kurs auch besucht und durchgearbeitet. Ich kann euch diesen Kurs wirklich ans Herz legen, weil er meiner Meinung nach der beste und einer der umfangreichsten Python-Kurse bei Udemy ist. Der Kurs dauert über 20 Stunden und bietet einen qualitativ hochwertigen Einstieg in die (objektorientierte) Programmierung mit Python. Derek hat seine Videos so gestaltet, dass er ohne lange Umschweife die wichtigsten Inhalte präzise an Hand von Codebeispielen erklärt. Er bettet viele, interaktive Übungsaufgaben ein, sodass ihr euren Fortschritt regelmäßig überprüfen könnt.

Neben Grundlagen wie Funktionen, Klassen, Schleifen, usw. werdet ihr ebenfalls lernen, wie SQLite funktioniert und wie ihr grafische Benutzeroberflächen (GUIs) programmiert. Außerdem lernt ihr das Webframework Django kennen.

Also nichts wie los, das ist eure Chance bei Python so richtig durchzustarten! Ich bin mir sicher, dass ihr nicht enttäuscht werdet und eure Lernfortschritte durch die Decke gehen werden! Klickt direkt auf das Bild, das euch zum Kurs bringt und sichert euch den tollen Udemy-Kurs*:

———————————————————————————————————————————–

while Schleifen: Deine Übungsaufgabe

Ich zeige dir meinen Programmcode und möchte dich um Folgendes bitten:
Welche Ausgabe denkst du werden wir auf der Konsole erhalten?

i = 3
while i < 12:
print(i)
i +=3

Na, hast du eine Idee? Schreibe dir deine Lösung auf. Kopiere dir anschließend diesen Code und füge ihn in dein Jupyter Python Notebook (oder deinen Editor der Wahl) ein. Hattest du mit der Vermutung recht?

Die Ausgabe ist

3
6
9

Das ist deshalb der Fall, weil im ersten Durchgang i der Zahl 3 entspricht
und wir somit die Bedingung (i soll kleiner als 12 sein) erfüllen. Dann
wird diese Zahl auf der Konsole durch den print-Befehl ausgegeben.
Aber am Ende dieser Schleife ändert sich der Wert der Variable i, denn i wird um 3 erhöht. Das bedeutet, der neue Wert von i ist: 3 + 3 = 6.

Im nächsten Durchlauf wird ebenfalls die Bedingung erfüllt, denn i ist
weiterhin kleiner als 12. Nach dem Ausdrucken der Zahl 6 auf der Konsole
wird i wiederum überschrieben. Nun ist der Wert von i gleich der Zahl 9.

Wir durchlaufen die while-Schleife ein drittes Mal, geben den Wert auf der
Konsole aus und erhöhen i. ACHTUNG: Jetzt ist der Wert gleich 12.
Deshalb führt Python beim nächsten Durchgang keine Anweisungen der while-
Schleife mehr aus, weil while jetzt nicht mehr True, sondern FALSE ausgibt!


Python while Schleifen: Kombiniere while, break und if-Bedingungen

# Ich möchte dir jetzt anhand des Codes zeigen, wie du mit dem Signalwort 
# break vorzeitig aus der while-Schleife ausbrichst.
x = 1 # Zunächst definieren wir eine neue Variable x
while x < 20: # Das ist unsere zu prüfende Bedingung
if x == 5:
print("Schleife wurde bei x == 5 abgebrochen.")
break
print(x)
x += 1

Wenn du diesen Code ausführst, erhältst du den folgenden Output:
1
2
3
4
Schleife wurde bei x == 5 abgebrochen.
Wir stellen also Folgendes fest:

Wir brechen mit der Ausführung der Schleifenanweisung ab,
obwohl die Schleifenbedingung (x < 20) noch nicht False geworden ist.
Das ist seeehr wichtig und eine Besonderheit von break.
Bei der while-Schleife, die du vorher kennengelernt hattest, war es ja so:
Die Anweisung(en) wurden solange ausgeführt, bis die Bedingung nicht mehr
erfüllt wurde. Ergo bis die Abfrage ein False ergeben hat.

Es gibt noch eine weitere wichtige Möglichkeit, neben Break vorzeitig
aus der while-Schleife auszubrechen. Diese stelle ich dir jetzt vor.


Python while Schleifen: Vorzeitiger while Schleifenabbruch durch else

x = 1
while x < 20:
if x == 25:
print("Schleife wurde bei x == 25 abgebrochen.")
break
print(x)
x += 1
else: # Abbruch, wenn die Bedingung das erste Mal False ergibt
print("Beendet")

Yeah, jetzt habt ihr es geschafft!

Herzlichen Glückwunsch. Ihr habt mein Tutorial zu den Python while Schleifen bis zum Ende durchgearbeitet und könnt jetzt problemlos mit while-loops und break in Python umgehen! 🙂 Gratulation.

Für alle YouTube- und Videofans: Die Inhalte dieses Blogbeitrags habe ich für dich in ein ausführliches YouTube-Video gepackt. Das Video siehst du zeitnah auf meinem YouTube-Kanal:

Durch Klick auf den LINK gelangt ihr direkt zum YouTube-Kanal:

Lasst mir gerne bei der Gelegenheit auf meinem Blog und YouTube-Kanal ein Abo (hier geht’s zum Newsletter) da, um keine spannenden  Programmiervideos mehr zu verpassen.
 

Vielen Dank für euer Interesse am Artikel „while Schleifen in Python Tutorial“. Bis zum nächsten Artikel auf

Python programmieren mit Maximilian

Euer Maximilian.

Alle mit * gekennzeichneten Links sind Affiliate-Links.