Erste Schritte in Python 

Listen und Methoden

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 sieht, 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 6,7,8,9) oder
zahl < 5 or zahl > 10 (True für ...,3,4,11,12,...)
not Nicht - macht als True, False und umgekehrt boolean not True (True für False)
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.

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

 

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.

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

 

 

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.

Wie gesagt: Das Thema OOP (Objektorientierte Programierung) ist sehr komplex - 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. Solange er kleiner als 2 ist 2, danach 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.


--> Zahlenreihe ausgeben
nums = [1,2,3,4,5]
for num in nums:
   if num == 3:
       print('Gefunden!')
       break oder continue --> bei break wird abgebrochen (1,2,Gefunden) bei continue weitergemacht (1,2,gefunden,4,5)
   print (num)

Kleines Wiederholungsprogramm in Python

Aufgaben zu Schleifen

In Python gibt es verschiedene Möglichkeiten eine FOR-Schleife zu formulieren.

  • Klicke auf "run" und schau dir das Ergebnis in der Konsole an. Lies dir außerdem den Quellcode durch (beachte noch nicht den Kommentar). Hast du die Aufgabe so gelöst? 
  • Lies dir nun dir nun den Kommentar durch und befolge die Anweisungen. Klicke erneut auf "run" und schau dir das Ergebnis in der Konsole an.
  • Versuche nachzuvollziehen, was hier passiert.

Auf der nächsten Seite findest du eine Erklärung und die nächste Aufgabe.

Kleines Wiederholungsprogramm in Python

Aufgaben zu Schleifen

In Python gibt es verschiedene Möglichkeiten eine FOR-Schleife zu formulieren.

  • Klicke auf "run" und schau dir das Ergebnis in der Konsole an. Lies dir außerdem den Quellcode durch (beachte noch nicht den Kommentar). Hast du die Aufgabe so gelöst? 
  • Lies dir nun dir nun den Kommentar durch und befolge die Anweisungen. Klicke erneut auf "run" und schau dir das Ergebnis in der Konsole an.
  • Versuche nachzuvollziehen, was hier passiert.

Auf der nächsten Seite findest du eine Erklärung und die nächste Aufgabe.

Kleines Wiederholungsprogramm in Python

Aufgaben zu Schleifen

In Python gibt es verschiedene Möglichkeiten eine FOR-Schleife zu formulieren.

  • Klicke auf "run" und schau dir das Ergebnis in der Konsole an. Lies dir außerdem den Quellcode durch (beachte noch nicht die Kommentare). Hast du die Aufgabe so gelöst? 
  • Lies dir die Infobox zu Listen durch.
  • Alles verstanden? Super. Lies dir nun dir nun die Kommentare im Editor durch und befolge die Anweisungen. Klicke erneut auf "run" und schau dir das Ergebnis in der Konsole an.

Auf der nächsten Seite findest du die nächste Aufgabe.

Eine Liste ist ein besonderer Datentyp. Mit einer Liste kannst du Elemente aneinanderreihen. Die Elemente können wiederum von verschiedenen Datentypen sein. Also zum Beispiel die Liste ['s', 1, 3.5] mit einem String, einem Integer und einem Float.

 

              Nimm deinen Python Merkzettel und fülle die Box zum Thema Listen aus.  

 

--> Elemente einer Einkaufsliste ausgeben lassen:
einkaufsliste = ['Tomaten', 'Avocado', 'Knoblauch', 'Salz', 'Pfeffer', 'Zitrone', 'Joghurt']
for i in einkaufsliste:
  print(i)

Hast du eine Idee für welches Rezept wir hier einkaufen? Später mehr dazu --> Funktionen einführen (zB mischen()) - was ist eine Algorithmus?

Challenge - erweitern - zB Personenanzahl,... anpassen

Bist du schon fertig? Unglaublich!

 

 

 

 

 

 

 

Hier findest du ein super Tool, um Schleifen besser zu verstehen. Viel Spaß!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bei Aufgaben und Infoboxen fett gedrucktes einfügen

Editorenfenster beschriften

Exkurs: TDD (Text driven development)? (Wunsch aus einer Lehrerbewerbung)

wirdnichtverwendet_Session#4_Einführung _in_Python

By appcamps

wirdnichtverwendet_Session#4_Einführung _in_Python

Einführung in Python

  • 872