Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
For-Schleifen¶
Die for
-Schleife kann über jede Sequenz von Elementen iterieren, beispielsweise über eine Liste oder einen String.
Die Syntax einer for
-Schleife ist wie folgt:
for val in sequenz:
Schleifenkörper
Hierbei ist val
eine Variable, die in jeder Iteration den Wert des Elements aus der Sequenz annimmt.
Die Schleife wird solange ausgeführt, bis das letzte Element der Sequenz erreicht ist. Durch Einrückung wird der Schleifenkörper vom restlichen Code abgegrenzt.
Flussdiagramm der for-Schleife
zahlen = [1, 2, 3, 4]
summe = 0
for val in zahlen:
summe = summe+val
print("Die Summe beträgt", summe)
>>> %Run -c $EDITOR_CONTENT
Die Summe beträgt 10
Die break-Anweisung¶
Mit der break
-Anweisung kann die Schleife beendet werden, bevor alle Elemente durchlaufen wurden:
zahlen = [1, 2, 3, 4]
summe = 0
for val in zahlen:
summe = summe+val
if summe == 6:
break
print("Die Summe beträgt", summe)
>>> %Run -c $EDITOR_CONTENT
Die Summe beträgt 6
Die continue-Anweisung¶
Mit der continue
-Anweisung kann die aktuelle Iteration der Schleife beendet und mit der nächsten fortgefahren werden:
zahlen = [1, 2, 3, 4]
for val in zahlen:
if val == 3:
continue
print(val)
>>> %Run -c $EDITOR_CONTENT
1
2
4
Die range()-Funktion¶
Mit der range()
-Funktion kann eine Zahlenreihe erzeugt werden. range(6)
erzeugt Zahlen von 0 bis 5 (6 Zahlen insgesamt).
Man kann auch Start, Ende und Schrittgröße definieren: range(start, stop, step_size)
. Wenn nicht angegeben, wird die Schrittgröße standardmäßig auf 1 gesetzt.
In gewissem Sinne ist das von range
zurückgegebene Objekt „faul“, da es bei seiner Erstellung nicht jede darin enthaltene Zahl generiert. Es ist jedoch kein Iterator, da es die Operationen in, len und __getitem__
unterstützt.
Diese Funktion speichert nicht alle Werte im Speicher; das wäre ineffizient. Sie speichert nur Start, Ende und Schrittgröße und generiert die nächste Zahl bei Bedarf.
Um diese Funktion zu zwingen, alle Elemente auszugeben, kann man die list()
-Funktion verwenden.
print(range(6))
print(list(range(6)))
print(list(range(2, 6)))
print(list(range(2, 10, 2)))
>>> %Run -c $EDITOR_CONTENT
range(0, 6)
[0, 1, 2, 3, 4, 5]
[2, 3, 4, 5]
[2, 4, 6, 8]
Man kann range()
in einer for
-Schleife verwenden, um über eine Zahlenreihe zu iterieren. Das kann in Kombination mit der len()
-Funktion genutzt werden, um mit dem Index über eine Sequenz zu iterieren.
früchte = ['Birne', 'Apfel', 'Traube']
for i in range(len(früchte)):
print("Ich mag", früchte[i])
>>> %Run -c $EDITOR_CONTENT
Ich mag Birne
Ich mag Apfel
Ich mag Traube
Else in For-Schleife¶
Die for
-Schleife kann auch einen optionalen else
-Block haben. Wenn die Elemente der für die Schleife verwendeten Sequenz aufgebraucht sind, wird der else
-Teil ausgeführt.
Das break
-Schlüsselwort kann verwendet werden, um die for
-Schleife zu beenden. In diesem Fall wird der else
-Teil ignoriert.
Daher wird der else
-Teil der for
-Schleife ausgeführt, wenn kein Abbruch erfolgt.
for val in range(5):
print(val)
else:
print("Fertig")
>>> %Run -c $EDITOR_CONTENT
0
1
2
3
4
Fertig
Der Else-Block wird NICHT ausgeführt, wenn die Schleife durch eine break
-Anweisung gestoppt wird.
for val in range(5):
if val == 2: break
print(val)
else:
print("Fertig")
>>> %Run -c $EDITOR_CONTENT
0
1