Verzweigungen
Positive und negative Zahlen unterscheiden mit Python
Wir legen direkt los...
Die Lösung und eine Erklärung zu dem was hier passiert, findest du auf der nächsten Seite.
Wie ihr vielleicht schon bemerkt habt, ist der Code unten formal noch nicht korrekt. Denn die Null ist weder positiv noch negativ. Wir müssen also mehr als zwei Fälle unterscheiden können.
Verzweigungen
Um Zahlen zu unterscheiden hast du eine Verzweigung verwendet:
Verzweigungen brauchst du immer dann, wenn du Fälle unterscheiden möchtest. Mit Hilfe eines logischen Operators kannst du Unterschiede ausmachen. Was ein Vergleichsoperator ist, hast du schon in der letzten Sitzung zu Schleifen gelernt.
Bei Verzweigungen kannst du beliebige Datentypen vergleichen, zum Beispiel Zahlen. Das Ergebnis ist immer True oder False. Trifft eine Bedingung zu (d.h. das Ergebnis ist wahr (true)), werden die Anweisungen in dem Code-Block ausgeführt. Die Anweisungen in den anderen Bedingungen werden ignoriert.
Achtung! Verzweigungen werden häufig mit Schleifen verwechselt. Das ist aber nicht korrekt. Folgendes unterscheidet Schleifen und Verzweigungen:
Es gibt verschiedene Arten von Verzweigungen. Hier hast du eine sogenannte IF-Verzweigung verwendet.
Nimm deinen Python Merkzettel und fülle die Box zum Thema Verzweigungen aus.
Wenn du dieses Symbol siehst, kannst du darauf klicken und dir den Quellcode im Editor anschauen.
Sieht deine Lösung anders aus? Kein Problem! Beim Programmieren gibt es oft mehrere Ansätze, um dieselbe Lösung zu erhalten. #VieleWegeFührenNachRom
if 'Bedingung1':
'Befolge diese Anweisungen'
Fülle deinen Python Merkzettel aus
Auf der nächsten Seite findest du weitere Aufgaben.
Hast du deinen Merkzettel vergessen oder konntest bei der letzten Sitzung nicht dabei sein? Hier kannst du den Merkzettel herunterladen. Du kannst den Merkzettel am besten ausdrucken und handschriftlich ausfüllen. Wenn du möchtest, kannst du alternativ direkt in die Merkzettel-PDF hineinschreiben. Vergiss dann nur nicht die Datei zu speichern und gut aufzubewahren. Wenn möglich benutze deinen Zettel aus den letzten Sitzungen.
Uhrzeiten mit Verzweigungen unterscheiden in Python
Zahlen in Verzweigungen mit Vergleichsoperatoren unterscheiden
Eine Erklärung zu dem was hier passiert, findest du auf der nächsten Seite.
Solltest du mal etwas nicht verstehen, frage einfach deine Mitschüler.
Gemeinsam könnt ihr natürlich auch eure Lehrer um Hilfe bitten.
Ein kleiner Exkurs... es gibt verschiedene sogenannte logische Operatoren. In der letzten Sitzung hast du bereits logische Vergleichsoperatoren kennengelernt (z.B. "kleiner als", <). Außerdem gibt es auch logische Verknüpfungen (z.B. "oder"). Mit einer Verknüpfung kannst du Bedingungen in Abhängigkeit setzen. Die Operatoren können beliebig verschachtelt werden, das kann schon mal ganz schön kompliziert werden. Folgend eine Übersicht logischer Operatoren:
Zahlen in Verzweigungen mit Vergleichsoperatoren unterscheiden
Alles verstanden? Super. Auf der nächsten Seite findest du Übungsaufgaben.
Operator | Was macht der Operator? | Beispiel |
---|---|---|
Verknüpfungen | ||
and | Und - Ist nur wahr, wenn beide Bedingungen zutreffen. | zahl > 5 and zahl < 10 (True für 6,7,8,9) |
or | Oder - Ist wahr, wenn eine der Bedingungen oder beide zutreffen. | zahl > 5 or zahl < 10 (True für 1,2,...,6,...,10,11,...) oder zahl < 5 or zahl > 10 (True für ...,3,4,11,12,...) |
not | Nicht - macht aus True, False und umgekehrt | not (1 != X) (True für x = 1) |
Vergleiche | ||
== | Ist gleich | 1 == 1 (wahr) oder 'Hallo' == 'Halli' (falsch) |
!= | Ist ungleich | 1 != 1 (falsch) oder 'Hallo' != 'Halli' (wahr) |
> | Ist größer als | 2 > 1 (wahr) oder 1 > 1 (falsch) oder 1 > 2 (falsch) |
>= | Ist größer als oder gleich | 2 >= 1 (wahr) oder 1 >= 1 (wahr) oder 1 >= 2 (falsch) |
< | Ist kleiner als | 1 < 2 (wahr) oder 1 < 1 (falsch) oder 2 < 1 (falsch) |
<= | Ist kleiner als oder gleich | 1 <= 2 (wahr) oder 1 <= 1 (wahr) oder 2 <= 1 (falsch) |
In Python werden die Verknüpfungen ausgeschrieben. In anderen Programmiersprachen werden in der Regel Symbole genutzt. So wir für den UND-Operator in Python "and" geschrieben und in der Programmiersprache Java zum Beispiel &&, der ODER-Operator heißt in Python "or" und in Java ||. Wundere dich also nicht, wenn du dich mal mit anderen Programmiersprachen auseinandersetzt.
Fülle deinen Python Merkzettel aus
Auf der nächsten Seite findest du weitere Aufgaben.
Tagesplaner in Python
Erstelle einen Tagesplaner
Auf der nächsten Seite findest du eine mögliche Lösung und eine Erklärung zu dem was hier passiert.
Beim Programmieren ist es oft hilfreich, Dinge einfach auszuprobieren, um zu sehen, was passiert und dann auch zu verstehen. Wichtig ist nur, dass ihr immer eine funktionierende Version eures Codes als Backup speichert.
#TrialAndError
Erstelle einen Tagesplaner
Auf den nächsten Seiten findest du zwei mögliche Lösung.
Sieht deine Lösung anders aus? Unabhängig vom Inhalt (denn ganz sicher hast du einen anderen Tagesplaner erstellt) ist das kein Problem! Beim Programmieren gibt es oft mehrere Ansätze, um dieselbe Lösung zu erhalten. #VieleWegeFührenNachRom
Inhalte Anderen zu erklären ist super, denn
...man verinnerlicht die Inhalte besser.
...man merkt, was man doch noch nicht ganz verstanden hat.
...man nimmt die Perspektive eines anderes ein und es kommen mehr Fragen auf.
Verzweigungen versus Schleifen
Eine kleine Erinnerung:
Wenn wir in unserem Beispiel also eine Schleife verwenden, sieht das so aus:
Innerhalb weniger Sekunden wird X mal der Text ausgegeben. Aber warum?
wird immer wieder der print-Befehl ausgeführt. Es entsteht eine Endlosschleife.
Ergänze ggf. deinen Python Merkzettel.
Dennoch kann es sinnvoll sein, eine Schleife in das Programm einzubinden
- aber wie?
Erstelle einen Tagesplaner
Auf der nächsten Seite findest du eine weitere mögliche Lösung.
Habt ihr euch ähnliche Beispiele überlegt?
Wenn ihr noch nicht wisst, wie ihr das, was ihr euch überlegt habt, in Code umsetzen könnt, ist das überhaupt nicht schlimm.
Generell gilt:
1. Beispiellösung: Dauerhafte Abfrage
Hier findest du ein weiteres anschauliches Beispiel, in dem eine WHILE-Schleife mit einer IF-Verweigung kombiniert wird.
Außerdem erfährst, du was das Schlüsselwort 'break' macht.
Erstelle einen Tagesplaner
Auf der nächsten Seite findest du weitere Infos zu Objektorientierung.
Wie könnten wir das Programm noch verbessern?
Statt eine Dauerschleife zu Verwenden kann es effizienter sein, die Abfrage z.B. über eine Taste zu aktivieren.
Dem Benutzer die Möglichkeit geben die Zeitzone anzupassen.
Nicht zu vergessen: Eine schöne grafische Benutzeroberfläche (GUI). Hier findet ihr weitere Infos zu GUIs.
Ihr seht also: Bereits eine einfache Anwendung wie diese kann beliebig erweitert werden.
2. Beispiellösung: Systemzeit
Denk daran: Durch klicken auf das repl.it Symbol, kannst du dir den Code im repl.it Editor anzeigen lassen und ihn in deiner Ablage speichern.
Die Grundprinzipien sind simpel, doch ob ihr es glaubt oder nicht - objektorientierte Programmierung (OOP) ist ein sehr umfangreiches und insgesamt komplexes Thema. Deshalb kriegt ihr hier nur eine groben Überblick!
Zwei wichtige Prinzipien der OOP sind:
Was bedeutet das konkret für uns, wenn wir zum Beispiel wie in unserem letzten Programm die Systemzeit auslesen?
Ein anschauliches Beispiel:
Wir haben eine Klasse 'Superheld'. Alle Superhelden vereint, dass sie spezielle Superkräfte haben. Außerdem vereint sie eine Reihe weiterer Eigenschaften, wie z.B., dass alle laufen können. All diese Eigenschaften werden grundlegend in der Klasse 'Superheld' angelegt. Von der Klasse können dann Objekte angelegt werden. Z.B. so:
Viele Programmiersprachen, die heutzutage genutzt werden sind objektorientiert. Python ist eine davon.
Wie gesagt: Das Thema OOP (Objektorientierte Programierung) ist sehr umfangreich - wenn du also nicht alles oder auch gar nichts verstanden hast, ist das absolut nicht schlimm!
Um den Hammerschlag OOP zu verdauen, mal wieder ein paar Knobelaufgaben...
Knobelaufgaben zu Schleifen
und Verzweigungen
2. Gehe die Schleifendurchläufe Schritt für Schritt durch, um die Fragen zu beantworten. Nutze dazu die Tabelle unten als Vorlage.
Wenn du auf eine Lösung gekommen bist, gehe auf die nächste Seite. Dort findest die Lösung, um deine Antwort zu überprüfen.
Um Schleifen und Verzweigungen richtig zu schreiben, musst du nachvollziehen können, wie beides funktioniert.
Die Tabelle soll dir als Vorlage dienen. Du kannst sie abschreiben und handschriftlich ausfüllen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | ||
1 | ||
2 | ||
... |
Knobelaufgaben zu Schleifen und Verzweigungen
Auf den nächsten Seiten findest du weitere Aufgaben zu Schleifen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 2 |
3 | 3 | 3 |
4 | 6 | 5 |
Antwort:
Die Schleife wird solange der Zähler kleiner als 5 ist ausgeführt. Nach vier Schleifendurchläufen ist die Bedingung, dass der Zähler kleiner als fünf sein muss, nicht mehr erfüllt. Die Schleife wird also automatisch nicht mehr durchlaufen und der Code weiter unten (hier 3 print()-Befehle) wird ausgeführt.
Beim Zähler wird in jedem Schleifendurchlauf etwas hinzuaddiert. Sobald er größer als 2 ist 2, davor 1. Beim Ergebnis wird zum aktuellen Wert, der Zähler hinzuaddiert.
Knobelaufgaben zu Schleifen
und Verzweigungen
2. Gehe die Schleifendurchläufe Schritt für Schritt durch, um die Fragen zu beantworten. Nutze dazu die Tabelle unten als Vorlage.
Wenn du auf eine Lösung gekommen bist, gehe auf die nächste Seite. Dort findest die Lösung, um deine Antwort zu überprüfen.
Um Schleifen und Verzweigungen richtig zu schreiben, musst du nachvollziehen können, wie beides funktioniert.
Die Tabelle soll dir als Vorlage dienen. Du kannst sie abschreiben und handschriftlich ausfüllen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | ||
1 | ||
2 | ||
... |
Knobelaufgabe #1 zu Schleifen und Verzweigungen in Python
Tipp: Im Editor kannst du dir jederzeit mit einem 'print' - Befehl das Zwischenergebnis ausgeben lassen und so überprüfen, ob das Programm so funktioniert wie du denkst.
Wenn du nach unten klickst, findest du die ausführliche Lösungstabelle.
Knobelaufgaben zu Schleifen und Verzweigungen
Bist du schon fertig? Auf den nächsten Seiten findest du noch weitere Aufgaben zu Schleifen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | 0 | -2 |
1 | -4 | -1 |
2 | -6 | 0 |
3 | -6 | 1 |
4 | -4 | 3 |
5 | 2 | 5 |
Antwort:
Die Schleife wird solange der Zähler kleiner als 5 ist ausgeführt. Nach fünf Schleifendurchläufen ist die Bedingung, dass der Zähler kleiner als fünf sein muss, nicht mehr erfüllt. Die Schleife wird also automatisch nicht mehr durchlaufen und der Code weiter unten (hier 3 print()-Befehle) wird ausgeführt.
Beim Zähler wird in jedem Schleifendurchlauf etwas hinzuaddiert. Solange er kleiner als 0 ist 1, danach 2. Beim Ergebnis wird zum aktuellen Wert, der Zähler multipliziert mit 2 ,hinzuaddiert.
Knobelaufgaben zu Schleifen
und Verzweigungen
2. Gehe die Schleifendurchläufe Schritt für Schritt durch, um die Fragen zu beantworten. Nutze dazu die Tabelle unten als Vorlage.
Wenn du auf eine Lösung gekommen bist, gehe auf die nächste Seite. Dort findest den Editor mit dem Code, um deine Antwort zu überprüfen.
Um Schleifen und Verzweigungen richtig zu schreiben, musst du nachvollziehen können, wie beides funktioniert.
Die Tabelle soll dir als Vorlage dienen. Du kannst sie abschreiben und handschriftlich ausfüllen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | ||
1 | ||
2 | ||
... |
Knobelaufgabe #2 zu Schleifen und Verzweigungen in Python
Tipp: Im Editor kannst du dir jederzeit mit einem 'print' - Befehl das Zwischenergebnis ausgeben lassen und so überprüfen, ob das Programm so funktioniert wie du denkst.
Wenn du nach unten klickst, findest du die ausführliche Lösungstabelle.
Knobelaufgaben zu Schleifen und Verzweigungen
Bist du schon fertig? Auf den nächsten Seiten findest du noch weitere Aufgaben zu Schleifen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | 8 | -28 |
1 | -48 | -15 |
2 | -78 | -2 |
3 | -82 | 5 |
Knobelaufgaben zu Schleifen
und Verzweigungen
2. Gehe die Schleifendurchläufe Schritt für Schritt durch, um die Fragen zu beantworten. Nutze dazu die Tabelle unten als Vorlage.
Wenn du auf eine Lösung gekommen bist, gehe auf die nächste Seite. Dort findest den Editor mit dem Code, um deine Antwort zu überprüfen.
Um Schleifen und Verzweigungen richtig zu schreiben, musst du nachvollziehen können, wie beides funktioniert.
Die Tabelle soll dir als Vorlage dienen. Du kannst sie abschreiben und handschriftlich ausfüllen.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | ||
1 | ||
2 | ||
... |
Knobelaufgabe #3 zu Schleifen und Verzweigungen in Python
Knobelaufgaben zu Schleifen und Verzweigungen
Bist du schon fertig? Auf den nächsten Seiten findest du noch weitere Aufgaben zu Schleifen.
Tipp: Im Editor kannst du dir jederzeit mit einem 'print' - Befehl das Zwischenergebnis ausgeben lassen und so überprüfen, ob das Programm so funktioniert wie du denkst.
Wenn du nach unten klickst, findest du die ausführliche Lösungstabelle.
Schleifendurchlauf | Ergebnis | Zaehler |
---|---|---|
0 (zu Beginn) | 8 | -28 |
1 | -7 | -15 |
2 | -9 | -2 |
3 | 6 | 5 |
Bist du schon fertig? Toll!
Überlege dir weitere Programme, die du mit deinen bisherigen Kenntnissen umsetzen könntest. Folgend eine Anregung:
Schreibe ein Programm, das
Die ersten beiden Schritte hast du vorher bereits in einem Programm (Sitzung 2) umgesetzt. Wenn du etwas Hilfe brauchst, findest du hier den Code dazu. Zu der Ja-/Nein-Abfrage folgende Hinweise:
Viel Spaß!
P.S. Hier findest du eine mögliche Lösung. Denke daran: Es ist überhaupt nicht schlimm, wenn deine Lösung anders aussieht. Es gibt immer viele verschiedene Lösungswege. #VieleWegeFührenNachRom