Da manche Befehle in Python anders sind, als in Java, mussten wir diese erst kennenlernen. Dazu haben wir uns selbst mit der Website Python-Kurs.eu die Grundlagen von Python 2, der zweiten Version von Python, beigebracht. Da wir die meisten Programmierstrukturen aber bereits von Java kannten hatten wir es nicht schwer und mussten uns größtenteils nur die neuen Befehle, sogenannte „Commands“ einprägen.
Beispielsweise gibt es in Java einen Befehlsbaustein, welcher sich if- Vorraussetzung nennt. Bei dieser wird in der Klammer nach dem Befehl ‚if‘ (Englisch für falls) eine Bedingung genannt. Wenn diese erfüllt ist, wird der darauffolgende Quelltexte, welcher in der geschweiften Klammer steht, ausgeführt. Wird die Bedingung nicht erfüllt, wird auch der Quelltext in der geschweiften Klammer nicht ausgeführt.
In diesem Beispiel fällt der Unterricht nur aus, wenn weniger als fünf Schüler da sind.
Der gleiche Befehlsblock würde in Python so aussehen:
Auf den ersten Blick sehen die Beiden Varianten Komplet gleich aus, doch in Python werden die zum Befehlsblock gehörenden Textzeilen nur durch Einrücken gekennzeichnet und nach der Voraussetzung folgt ein Doppelpunkt. Außerdem ist der Indikator für das Ende einer Befehlszeile nicht ein Semikolon. Stattdessen schreibt man einfach in der nächsten Zeile mit dem nächsten Befehl weiter.
Ein anderes, schwierigeres Beispiel sind sogenannte „for-Schleifen“. Diese wiederholen den in der Schleife enthaltenen, also den eingerückten Quelltext so häufig, wie es zuvor angegeben wurde.
Die blau markierte Zahl zeigt an, wie oft der Befehl, in diesem Fall ein ‚Situp‘ , ausgeführt wird. ‚int‘ bedeutet, dass die folgende Variable eine Zahl ist, ‚i‘ ist dementsprechend die Variable und diese ist zu beginn 0. nach jedem Ausführen des in der Schleife enthaltenen Quelltextes wird ‚i‘ dann durch den Befehl ‚i=i+1′ um eins erhöht. Der Befehl ‚i<5′ besagt, dass die Schleife nur so lange ausgeführt wird, wie ‚i‘ kleiner als fünf ist, was genau fünf mal der Fall ist, denn wenn nach der fünften Ausführung ‚i‘ auf fünf erhöht wird, ist die Voraussetzung nicht mehr gegeben.
In Python verwendet man dafür die Befehlsfloskel ‚for i in range‘ gefolgt von der Anzahl an Wiederholungen in Klammern vor dem Doppelpunkt und dem eingerückten Quelltext, welcher wiederholt ausgeführt werden soll.
Name des Befehlsbausteins | Beschreibung | Schreibweise in Java | Schreibweise in Python |
---|---|---|---|
If-Voraussetzung | einen Befehl nur ausführen, wenn eine Bedingung erfüllt ist | if(Bedingung){ Befehl } |
if(Bedingung): Befehl |
For-Schleife | einen Befehl eine vorgegebene Anzahl wiederholen | for(int_i=0;i<Wiederholungen;i++){ Befehl } |
for i in range (Wiederholungen): Befehl |
Auf diesem Wissen aufbauend haben wir ein Paar simplere Programme erst in Java Programmiert und dann versucht, diese in Python umzusetzen.
Zum Beispiel haben wir ein Gangsterkrankenhaus Programmiert, in dem es normale Patienten und Gangsterpatienten gibt. Im Gangsterkrankenhaus gibt es Ärzte, Polizisten und Patienten. Ein Patient hat einen Gesundheitswert, welcher zwischen 0 und 100 liegt und wird behandelt, bis sein Gesundheitswert wieder bei 100 liegt, wobei der Gesundheitswert bei Behandlung um 10 pro Stunde steigt. Die Gangsterpatienten werden speziell behandelt, da sie nur in Anwesenheit eines Polizisten angeführt und abgeführt werden dürfen, welcher erst gehen kann, wenn die Handschellen angelegt sind. Außerdem muss ihr Gesundheitswert nicht auf 100, sondern nur bis 50 erhöht werden. Ein Arzt hat ein Arbeitspensum, welches beschreibt wie viele Stunden er pro Tag arbeiten muss und einen Zähler, welcher die bereits gearbeiteten Stunden zählt. Hat der Arzt sein Pensum erreicht, geht er nach Hause und kehrt am nächsten Tag wieder.
Dieses Programm bot uns eine gute Möglichkeit, die wenigen Schwierigkeiten und Besonderheiten von Python zu verstehen und die neuen Commands zu verinnerlichen. Nun waren wir bereit, uns dem Programmieren der Roboter zu widmen.