Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
klaren:klaren_index [2020/03/08 08:22] – klaren | klaren:klaren_index [2020/03/08 08:24] (aktuell) – klaren | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Klaren' | ====== Klaren' | ||
- | [[klaren: | + | Für alle interessierten an der Programmiersprache Python sammele |
- | ===== Der For Loop ===== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | In dieser Episode zeige ich wie man in Python die For-Schleife einsetzt. Ich beginne mit einfachen Beispielen und werde dann Schritt | + | |
- | For-Schleifen sind bekannt aus vielen anderen Progammiersprachen. Sowohl in C als auch in Perl und Basic finden sich ähnliche Konstrukte, | + | |
- | \\ | + | |
- | Wir beginnen mit der einfachst möglichen For-Schleife. | + | |
- | </ | + | |
- | <WRAP half column> | + | |
- | **Hinweis:** In Python muss, anders als in anderen Sprachen der Schleifen-Körper nicht durch Begrenzungszeichen eingerahmt werden. Stattdessen wird der Schleifenkörper einfach eine Stufe eingerückt. Dies können 4 Leerzeichen oder ein Tabulatorzeichen sein. Wichtig ist, dass man die Methode der Einrückung nicht in der gleichen Datei mischt. | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | ==== Beispiel 1: 10 mal eine Zeichenkette ausgeben ==== | + | |
- | <WRAP group> <WRAP half column> | + | |
- | **Die Python FOR Schleife**, hier in Verbindung mit der '' | + | |
- | + | ||
- | </ | + | |
- | <code python> | + | |
- | for n in range(10): | + | |
- | print(' | + | |
- | </ | + | |
- | Stattdessen wird einfach 10 Mal die Zeichenkette '' | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 2: Zählen von 1 bis 10 ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Range Funktion mit geändertem Wertebereich.** In diesem Beispiel zählen wir von 1 bis 10. Die Variable n wird durch den For Loop mit Werten aus der '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | for n in range(1, | + | |
- | print(' | + | |
- | </ | + | |
- | Es ist ein Python Besonderheit, | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 3: Einem einfachen Tuple lesen ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Eine Tuple mit einer For Schleife lesen.** In diesem Beispiel laufen wir durch ein Tuple namens '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | tup = (' | + | |
- | for c in tup: | + | |
- | print(' | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 4: Zwei Werte aus einer Datenstruktur lesen ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Verschachtelte Daten lesen.** In diesem Beispiel laufen wir durch eine Tuple Struktur namens '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | tup = ((0,' | + | |
- | for n,c in tup: | + | |
- | print(' | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | ==== Beispiel 5: Die Enumerate Funktion ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Mit '' | + | |
- | Es ist kein Zufall, das die Ausgaben dieses Beispiels identisch mit den Ausgaben aus Beispiel 4 sind. Die '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | tup = (' | + | |
- | for n,c in enumerate(tup): | + | |
- | print(' | + | |
- | </ | + | |
- | In der Praxis kommt es häufig vor, dass man eine Positionsmarke innerhalb einer For-Schleife benötigt. In anderen Sprachen löst man das mit einer eigenen Variable außerhalb der For-Schleife initialisiert wird und die bei jedem Durchlauf inkrementiert wird. Das ist bei Python nicht nötig. '' | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 6: Die Zip Funktion ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Mit '' | + | |
- | Wenn '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | tup1 = (' | + | |
- | tup2 = (' | + | |
- | for c1,c2 in zip(tup1, | + | |
- | print(' | + | |
- | </ | + | |
- | In der Praxis kommt es vor, dass man Werte aus zwei unterschiedlichen Datenstrukturen positions-gleich lesen will, hier hilft die '' | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 7: Range Funktion mit Schrittweite ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Eine Schrittweite anders als 1.** In diesem Beispiel nutzen wir '' | + | |
- | Man kann auch negative Schrittweiten verwenden. Dann zählt '' | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | for n in range(2, | + | |
- | print(' | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 8: Mit Break Ausbrechen ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **Einen laufende For-Schleife verlassen.** In diesem Beispiel nutzen wir eine If-Abfrage um bei einem Zahlenwert von '' | + | |
- | Es kann enorme Geschwindigkeitvorteile bringen eine For-Schleife vorzeitig zu verlassen. | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | for n in range(1000): | + | |
- | print(' | + | |
- | if n == 100: | + | |
- | break | + | |
- | </ | + | |
- | Es sollte beim Anlegen der For-Schleife immer geprüft werden, ob dies möglich ist. Je weniger Durchläufe je schneller das Programm. | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Beispiel 9: Mit Continue Auslassen ==== | + | |
- | <WRAP group> | + | |
- | <WRAP half column> | + | |
- | **In einer laufende For-Schleife Code Überspringen.** In diesem Beispiel nutzen wir eine If-Abfrage um bei einem gerade Zahlenwert mit dem Kommando '' | + | |
- | Dies erlabt es bestimmte Teile der For-Schleife nur bei Bedarf auszuführen. | + | |
- | </ | + | |
- | + | ||
- | <WRAP half column> | + | |
- | <code python> | + | |
- | for n in range(100): | + | |
- | if n % 2 == 0: | + | |
- | continue | + | |
- | print(' | + | |
- | </ | + | |
- | Die For-Schleife | + | |
- | </ | + | |
- | </ | + | |