Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
klaren:klaren_index [2020/03/08 08:22] klarenklaren:klaren_index [2020/03/08 08:24] (aktuell) klaren
Zeile 1: Zeile 1:
 ====== Klaren's Python Bastelbude ====== ====== Klaren's Python Bastelbude ======
-[[klaren:PythonByExample:ForSchleife|klaren:PythonByExample:ForSchleife]] +Für alle interessierten an der Programmiersprache Python sammele ich hier erklärte Beispiele für die Nutzung.
-===== 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 für Schritt das Beispiel abwandeln und erweitern.\\ +
-For-Schleifen sind bekannt aus vielen anderen Progammiersprachen. Sowohl in C als auch in Perl und Basic finden sich ähnliche Konstrukte, die z.B. über einen begrenzten Wertebereich von A bis Z laufen und einen Laufwert in eine Variable speichern. +
-\\ +
-Wir beginnen mit der einfachst möglichen For-Schleife.+
  
-</WRAP> +  [[klaren:PythonByExample:ForSchleife|Die 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. +
- +
-</WRAP> +
-</WRAP> +
-==== Beispiel 1: 10 mal eine Zeichenkette ausgeben ==== +
-<WRAP group> <WRAP half column> +
- **Die Python FOR Schleife**, hier in Verbindung mit der ''range()'' Funktion. Sie wird hier verwendet um von 0 bis 9 zu zählen. Die Variable ''n'' wird in dem Beispiel nicht verwendet, sie enthält den Zählwert.  +
- +
-</WRAP> <WRAP half column>  +
-<code python> +
-for n in range(10): +
-    print('Hello World!'+
-</code> +
-Stattdessen wird einfach 10 Mal die Zeichenkette ''Hello World!'' ausgegeben. +
-</WRAP> </WRAP> +
- +
-==== 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 ''range()'' Funktion gesetzt. Die Parameter der ''range()'' Funktion sind 1,11. 1 ist der Startwert, 11 der Wert, bei dem ''range()'' die Ausgabe abbricht.  +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-for n in range(1,11): +
-    print('Schleifendurchlauf Nummer:',n) +
-</code> +
-Es ist ein Python Besonderheit, dass der End-Wert niemals von ''range()'' zurückgeliefert wird. Man muss sich den Wert vorstellen als die Abbruch Bedingung von ''range()''. ''Wenn 11 erreicht ist, höre auf.'' +
-</WRAP>\\ +
-</WRAP> +
- +
-==== 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 ''tup'' mit Zeichen. Ein Tuple ist eine nicht veränderliche Liste von Elementen. Der Variablenname wird anstelle der ''range()'' Funktion eingesetzt. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-tup = ('a','b','c','d','e','f'+
-for c in tup: +
-    print('Wert:',c) +
-</code> +
-</WRAP>\\ +
-</WRAP> +
- +
-==== 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 ''tup'' mit Zeichen und Zahlen. Das Äußere Tuple enthält eine Liste aus Tuplen. Jedes der Sub-Tuple enthält je eine Zahl und einen Buchstaben. Man beachte das die For-Schleife nun zwei Variablen enthält. Sie werden mit den Werten aus dem jeweiligen Sub-Tuple befüllt. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-tup = ((0,'a'),(1,'b'),(2,'c'),(3,'d'),(4,'e')) +
-for n,c in tup: +
-    print('Wert:',n,c) +
-</code> +
-</WRAP>\\ +
-</WRAP> +
-==== Beispiel 5: Die Enumerate Funktion ==== +
-<WRAP group> +
-<WRAP half column> +
-**Mit ''enumerate()'' Elemente eines Tuples zählen.** In diesem Beispiel laufen wir durch eine einfaches Tuple namens ''tup'' mit Zeichen. Wir setzen dieses Mal aber das Tuple in die Funktion ''enumerate()'' ein. Man beachte das die For-Schleife zwei Variablen ''n'' und ''c'' enthält. Sie werden mit einem Zählwert von Enumerate und einem Wert aus dem Tuple befüllt.\\ +
- Es ist kein Zufall, das die Ausgaben dieses Beispiels identisch mit den Ausgaben aus Beispiel 4 sind. Die ''enumerate()'' Funktion liefert als Ergebnis ein strukturiertes Tuple wie ''tup'' aus Beispiel 4. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-tup = ('a','b','c','d','e'+
-for n,c in enumerate(tup): +
-    print('Wert:',n,c) +
-</code> +
-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. ''enumerate()'' löst die Aufgabe perfekt. +
-</WRAP>\\ +
-</WRAP> +
- +
-==== Beispiel 6: Die Zip Funktion ==== +
-<WRAP group> +
-<WRAP half column> +
-**Mit ''zip()'' zwei Tuples in einer For-Schleife nutzen.** In diesem Beispiel laufen wir durch gleich zwei Tuples ''tup1'' und ''tup2''. Wir setzen beide Tuple in die Funktion ''zip()'' ein. Man beachte das die For-Schleife zwei Variablen ''c1'' und ''c2'' enthält. Sie werden mit den Werten der beiden Tuple befüllt.\\ +
-Wenn ''tup1'' kürzer wäre als ''tup2'' oder umgekehrt würde die For-Schleife nach der Anzahl der kürzeren Struktur beendet. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-tup1 = ('a','b','c','d','e'+
-tup2 = ('z','y','x','t','s'+
-for c1,c2 in zip(tup1,tup2): +
-    print('Wert:',c1,c2) +
-</code> +
-In der Praxis kommt es vor, dass man Werte aus zwei unterschiedlichen Datenstrukturen positions-gleich lesen will, hier hilft die ''zip()'' Funktion. Der Name stammt vom englischen Wort für Reisverschluß. Und genau das macht die Funktion. Sie erzeugt ein verschachteltes Tuple, ein einen Reisverschluss.  +
-</WRAP>\\ +
-</WRAP> +
- +
-==== Beispiel 7: Range Funktion mit Schrittweite ==== +
-<WRAP group> +
-<WRAP half column> +
-**Eine Schrittweite anders als 1.** In diesem Beispiel nutzen wir ''range()'' mit drei Parametern. Der dritte Parameter stellt die Schrittweite des Ranges ein. Das Beispiel zählt alle geraden Zahlen bis 10.\\ +
-Man kann auch negative Schrittweiten verwenden. Dann zählt ''range()'' rückwärts. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-for n in range(2,11,2): +
-    print('Wert:',n) +
-</code> +
-</WRAP>\\ +
-</WRAP> +
- +
-==== 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 ''100'' mit dem Kommando ''break'' die laufende For-Schleife vorzeitig zu verlassen. Die Schleife würde ansonsten bis ''999'' laufen.\\ +
-Es kann enorme Geschwindigkeitvorteile bringen eine For-Schleife vorzeitig zu verlassen. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-for n in range(1000): +
-    print('Wert:',n) +
-    if n == 100: +
-        break +
-</code> +
-Es sollte beim Anlegen der For-Schleife immer geprüft werden, ob dies möglich ist. Je weniger Durchläufe je schneller das Programm. +
-</WRAP>\\ +
-</WRAP> +
- +
-==== 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 ''continue'' die Ausgabe mit ''print()'' zu überspringen. \\ +
-Dies erlabt es bestimmte Teile der For-Schleife nur bei Bedarf auszuführen. +
-</WRAP> +
- +
-<WRAP half column> +
-<code python> +
-for n in range(100): +
-    if n % 2 == 0: +
-        continue +
-    print('Wert:',n) +
-</code> +
-Die For-Schleife gibt alle ungerade Zahlen bis 100 aus. +
-</WRAP>\\ +
-</WRAP>+
  
  • klaren/klaren_index.txt
  • Zuletzt geändert: 2020/03/08 08:24
  • von klaren