Erste Schritte in Python 

Verzweigungen 

Positive und negative Zahlen unterscheiden mit Python

Wir legen direkt los...

  1. Klicke auf "run" und schau dir das Ergebnis in der Konsole an. Teste verschiedene Eingaben.
  2. Lies dir den Quellcode und die Kommentare (mit # gekennzeichnet) durch.
  3. Alles verstanden? Super. Dann passe den Code so an, dass er bei 0 "Du hast eine Null eingegeben." ausgibt. Tipp: Weitere Fälle kannst du mit dem Schlüsselwort elif hinzufügen.

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.

 

 

Tipp: Du kannst in je einem weiteren Tab Sitzung 1 und Sitzung 2 öffnen, um z.B. nachzuschauen, wie du input() einsetzen kannst.

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:

  • Schleifen werden genutzt, um Dinge zu wiederholen. Eine Schleife braucht eine Abbruchbedingung.
  • Verzweigungen werden genutzt, um Fälle zu unterscheiden. Je nach Fall werden bestimmte Anweisungen ausgeführt. Die Anweisungen in den übrigen Fällen werden ignoriert.

 

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

  • Nimm deinen Python Merkzettel und fülle die Box zum Thema Verzweigungen aus. Lasse noch etwas Platz, um deine Notizen später zu ergänzen. F alls du nicht mehr weißt, was wichtig war, gehe gerne noch mal ein paar Schritte zurück.

 

 

 

 

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

  1. Klicke auf "run" und schau dir das Ergebnis in der Konsole an. Teste verschiedene Eingaben.
  2. Lies dir den Quellcode und die Kommentare (mit # gekennzeichnet) durch.
  3. Alles verstanden? Super. 

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

  1. Lies dir die Infobox unten aufmerksam durch und ergänze deinen Merkzettel. 
  2. Überlege dir nun mögliche Anwendungsfälle für Verzweigungen. Tausche dich mit deine Mitschülern aus. 

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

  • Nimm deinen Python Merkzettel und ergänze die Box zum Thema Logische Operatoren. Lasse noch etwas Platz, um deine Notizen später zu ergänzen. Falls du nicht mehr weißt, was wichtig war, gehe gerne noch mal ein paar Schritte zurück.

 

 

 

Auf der nächsten Seite findest du weitere Aufgaben.

Tagesplaner in Python

Erstelle einen Tagesplaner

  1. Überlege zunächst handschriftlich, was du zu welcher Uhrzeit machst. (z.B. Schule von 8-14 Uhr, Abendbrot um 19 Uhr usw.)
  2. Befolge nun die Anweisungen in den #Kommentaren unten im Quellcode. Erstelle für die jeweiligen Uhrzeiten eine Wenn-Dann-Verzweigung ( if-elif-else).  
  3. Überlege dir, warum es sinnvoll ist, hier eine Verzweigung statt einer Schleife zu verwenden. Wenn du möchtest, probiere es aus, damit du selbst siehst was passiert.

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

  1. Lies dir zunächst die Beispiel-Lösung oben durch. Hast du alles verstanden?
  2. Erkläre einem deiner Mitschüler das Programm. 
  3. Lies dir die graue Infobox durch. 
  4. Überlege dir wie du das Programm erweitern könntest.

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:

  • Schleifen werden genutzt, um Dinge zu wiederholen. Eine Schleife braucht eine Abbruchbedingung. 
  • Verzweigungen werden genutzt, um Fälle zu unterscheiden. Je nach Fall werden bestimmte Anweisungen ausgeführt. 

Wenn wir in unserem Beispiel also eine Schleife verwenden, sieht das so aus:

Innerhalb weniger Sekunden wird X mal der Text ausgegeben. Aber warum?

  • Mit deiner Eingabe legst du die Uhrzeit fest (im Beispiel rechts zwischen 22-7 Uhr).
  • Der Computer merkt sich die Uhrzeit, und da es keine Abbruchbedingung gibt,

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

  1. Lies dir die erste Beispiel-Lösung unten durch. Hast du alles verstanden?
  2. Lasse auch nicht die orange Hinweisbox außer Acht.
  3. Lies dir unten die graue Infobox bzw. den Link zur Kombination von Schleifen und Verzweigungen durch. 

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:

  • Pair Programming kann sehr hilfreich sein, um auf gute Lösungen zu kommen. #Inspiration #4AugenSehenMehr
  • Beim Programmieren besteht ein Großteil der Zeit aus Suchen nach Lösungen im Internet. Es gibt (fast) immer jemanden, der das Problem schon mal hatte und einen Forenbeitrag aufgesetzt hat. Dort findet ihr dann häufig auch die Lösung. Ein tolles Forum ist zum Beispiel Stackoverflow.

      Hier findet ihr die neuesten Beiträge zu Python

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

  1. Lies dir die zweite Beispiel-Lösung unten durch.
  2. Hast du alles verstanden? Wenn nicht, ist das überhaupt nicht schlimm. Tatsächlich greifen wir hier bereits ein sehr komplexes Thema auf, nämlich Objektorientierung. Einen groben Überblick dazu was das ist und wofür das gut ist erhältst du auf der nächsten Folie.
  3. Wäge Vor- und Nachteile der beiden Beispiel-Lösungen ab. Überlege zum Beispiel, welche Folgen es haben könnte, dass das Programm in einer Dauerschleife ist oder, dass der Nutzer nicht mehr die Möglichkeit hat die Zeit selbst einzugeben.
  4. Lies dir unten die graue Box mit möglichen Verbesserungen durch. 

Auf der nächsten Seite findest du weitere Infos zu Objektorientierung.

Wie könnten wir das Programm noch verbessern?

  • Nur Zahlen bzw. Uhrzeiten zulassen, die auch tatsächlich möglich sind (z.B. nicht 28.66 Uhr).                                                                                                           
  • 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?

  • Es gibt eine Klasse Zeit (time). Von dieser Klasse haben wir ein Objekt erzeugt. (Im Programm heißt das Objekt 'jetzt').
  1. Mithilfe des Objekts 'jetzt' können wir nun auf Funktionen, die im Code der Klasse 'time' hinterlegt sind zugreifen. Das liegt daran, dass jedes Objekt einer Klasse die Eigenschaften erbt. Auf diese Weise können wir zum Beispiel die Stunde und Minute entsprechend der Systemzeit auslesen. Wenn wir den Code dafür selbst schreiben müssten, wäre das sehr aufwendig!
  2. Wir können zwar auf die Funktionen zugreifen, die Klasse selbst allerdings nicht bearbeiten, sondern nur unser Objekt 'jetzt'. Das liegt an der Verkapselung, sozusagen der Schutzhülle der Klasse. Auf diese Weise wird sichergestellt, dass jeder die Funktionen der Klasse nutzen kann, sie aber nicht manipuliert werden können.

 

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.

  • Kapselung
  • (es gibt noch mehr)
  • Die Eigenschaft 'Superkraft' wird zwar angelegt, bleibt aber noch leer, da jeder Superheld andere Superkräfte hat. Im Objekt muss dann festgelegt werden, was die Superkraft des jeweiligen Superhelden ist. Bei Hulk ist das zum Beispiel die Stärke.
  • Die Eigenschaft 'Laufen' funktioniert bei allen Superhelden mehr oder weniger gleich. Hier kann schon in der Klasse selbst der passende Code geschrieben werden. Es kann sinnvoll sein z.B. die Schrittlänge individuell anzupassen, da Hulk beispeilsweise deutlich größer als die anderen Superhelden ist.

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

  1. Schaue dir den Code an:

 

 

 

 

 

 

 

  • Welche Ausgabe erhälst du, wenn du das Programm startest? Welchen Wert hat die Variable 'ergebnis'?
  • Wie oft wird die Schleife durchlaufen? Welchen Wert hat die Variable 'schleifendurchlaeufe'?

 

 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

  1. Schaue dir die Tabelle unten an. Sieht deine Tabelle genauso aus oder hast du etwas vergessen? Hier findest du den Code zu der Aufgabe. Dort werden über einen print()-Befehl auch alle Zwischenergebnisse, wie in der Tabelle, ausgegeben.
    • Welchen Wert hat die Variable 'ergebnis' zum Schluss?
    • Welchen Wert hat die Variable 'schleifendurchlaeufe' zum Schluss?
  2. Stimmt deine Lösung der Aufgabe mit der unten überein? Falls ja - super! Falls nicht - versuche nachzuvollziehen, wo der Fehler liegt. Tausche dich eventuell mit deinen Mitschülern aus.

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:

  • Der Wert der Variable 'ergebnis' ist 6. 
  • Der Wert der Variable 'schleifendurchlaeufe' ist 4.

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

  1. Schaue dir den Code an:

 

 

 

 

 

 

 

  • Welche Ausgabe erhälst du, wenn du das Programm startest? Welchen Wert hat die Variable 'ergebnis'?
  • Wie oft wird die Schleife durchlaufen? Welchen Wert hat die Variable 'schleifendurchlaeufe'?

 

 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

  1. Vergleiche zunächst deine Tabelle mit der eines Mitschülers. Habt ihr die gleichen Zwischenlösungen und das gleiche Ergebnis? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt.
    • Welchen Wert hat die Variable 'ergebnis' zum Schluss?
    • Welchen Wert hat die Variable 'schleifendurchlaeufe' zum Schluss?
  2. Wenn ihr auf eine Lösung gekommen seid, überprüft euer Ergebnis, indem ihr auf 'run' klickt.
  3. Stimmt eure Lösung mit der Ausgabe überein? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt. Tauscht euch eventuell mit euren Mitschülern aus.

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:

  • Der Wert der Variable 'ergebnis' ist 2. 
  • Der Wert der Variable 'schleifendurchlaeufe' ist 5.

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

  1. Schaue dir den Code an:

 

 

 

 

 

 

 

  • Welche Ausgabe erhälst du, wenn du das Programm startest? Welchen Wert hat die Variable 'ergebnis'?
  • Wie oft wird die Schleife durchlaufen? Welchen Wert hat die Variable 'schleifendurchlaeufe'?

 

 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

  1. Vergleiche zunächst deine Tabelle mit der eines Mitschülers. Habt ihr die gleichen Zwischenlösungen und das gleiche Ergebnis? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt.
    • Welchen Wert hat die Variable 'ergebnis' zum Schluss?
    • Welchen Wert hat die Variable 'schleifendurchlaeufe' zum Schluss?
  2. Wenn ihr auf eine Lösung gekommen seid, überprüft euer Ergebnis, indem ihr auf 'run' klickt.
  3. Stimmt eure Lösung mit der Ausgabe überein? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt. Tauscht euch eventuell mit euren Mitschülern aus.

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

  1. Schaue dir den Code an:

 

 

 

 

 

 

 

  • Welche Ausgabe erhälst du, wenn du das Programm startest? Welchen Wert hat die Variable 'ergebnis'?
  • Wie oft wird die Schleife durchlaufen? Welchen Wert hat die Variable 'schleifendurchlaeufe'?

 

 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

  1. Vergleiche zunächst deine Tabelle mit der eines Mitschülers. Habt ihr die gleichen Zwischenlösungen und das gleiche Ergebnis? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt.
    • Welchen Wert hat die Variable 'ergebnis' zum Schluss?
    • Welchen Wert hat die Variable 'schleifendurchlaeufe' zum Schluss?
  2. Wenn ihr auf eine Lösung gekommen seid, überprüft euer Ergebnis, indem ihr auf 'run' klickt.
  3. Stimmt eure Lösung mit der Ausgabe überein? Falls ja - super! Falls nicht - versucht nachzuvollziehen, was ihr falsch gemacht habt. Tauscht euch eventuell mit euren Mitschülern aus.

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

  • Abfragt, welcher Text ausgegeben werden soll.
  • Abfragt, wie oft der Text ausgegeben werden soll.
  • Abfragt, ob der Text wirklich wiederholt werden soll (Ja oder Nein).

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:

  1. Frage den Benutzer, ob der Text wiederholt werden soll. Lege dazu eine Variable an und nutze den 'input'- Befehl.
  2. Ergänze folgendermaßen eine Verzweigung:
  • Wenn der Nutzer "Ja" eingibt, soll die WHILE-Schleife ausgeführt werden.
  • Wenn der Nutzer hingegen "Nein" eingibt, wird der Text nur 1x ausgegeben.
  • Andernfalls bekommt der Nutzer die Rückmeldung, dass er keine gültige Eingabe gemacht hat.

 

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

 

wirdnichtverwendet_Copy of Session#3_Einführung _in_Python

By appcamps

wirdnichtverwendet_Copy of Session#3_Einführung _in_Python

Einführung in Python

  • 558