Logo Cusanus Gymnasium Erkelenz
Icon Leitprogramm Informatik

Cusanus-Gymnasium Erkelenz Europaschule

Einführung in die Programmierung mit

Kapitel II - Ein erstes Programm
Differenzierungskurs
"Informatik" - Klasse 9 / 10
Gr - 2025 / 2026
Version vom 30.08.2025

Kapitel II - Ein erstes Programm

Icon Übersicht

Am Anfang des Kapitels wollen wir uns noch etwas näher mit einigen Hintergründen der Programmiersprache Python beschäftigen. Anschließend werden wir uns mit der Ausgabe von Texten beschäftigen und darauf aufbauend unser erstes eigenes Programm schreiben. Dazu werden wir die Programmierumgebung "PyScripter" verwenden. Die genannte Programmierumgebung bietet deutlich mehr Komfort als die Shell - ohne dass wir dabei auf diese verzichten müssen! Anhand unseres ersten Programmes werden wir zwei Hilfsmittel kennenlernen, die uns die Programmierung erleichtern.

Icon Lernziele
Nach erfolgreicher Bearbeitung des Kapitels kannst du
  • den Ursprung, die Ziele und Vorteile von Python benennen.
  • Zeichenketten, Zahlen und arithmetische Ausdrücke unterscheiden und Unterschiede benennen.
  • zwei unterschiedliche Datentypen benennen und erläutern, wie man diese unterscheidet.
  • mittels der print()-Funktion Ausgaben auf dem Bildschirm erzeugen.
  • PyScripter bzw. Geany zum Schreiben von Programmen und Ausprobieren einzelner Anweisungen nutzen.
  • Kommentare und Färbung des Quelltextes als Hilfsmittel bei der Programmierung verwenden.

Python

Python ist eine leistungsstarke und hochentwickelte Programmiersprache. Sie wurde 1991 von Guido van Rossum am "Centrum voor Wiskunde en Informatica (CWI)" in Amsterdam als Nachfolger der Lehrprogrammiersprache ABC veröffentlicht. Trotz ihres Alters und dem Ursprung als Lehrsprache wird Python in professionellen Bereichen eingesetzt. Dies geschieht unter anderem bei der NASA, aber auch dem heutigen Arbeitgeber von Guido van Rossum, der Firma Google. Aber auch ein Großteil der bekannten Internetplattform YouTube ist in Python geschrieben.

Der Name "Python" hat - auch wenn es das Logo der Programmiersprache nahe legt - nichts mit der gleichnamigen Schlange zu tun, sondern dieser geht auf die britische Komikergruppe Monty Python zurück. Ein wichtiger Vorteil von Python ist, dass Python der Open-Source-Initiative entspringt und damit kostenlos ist.

Ein zentrales Anliegen bei der Entwicklung war, dass der Python Quellcode einfach und übersichtlich ist, und damit gut lesbar ist. Unter anderem dadurch ist Python für Programmiereinsteiger besonders gut geeignet. Ferner resultiert aus der genannten Einfachheit und Übersichtlichkeit, dass entsprechende Programme (bzw. der zugehörige Quelltext) kürzer sind als vergleichbare Programme in anderen Programmiersprachen.

Ein weiterer Vorteil von Python ist der sog. "Live-Modus" innerhalb der Python-Shell. Hier werden Ergebnisse sofort sichtbar und man kann Ideen ausprobieren, bevor man diese letztlich in ein Programm umsetzt. Wir werden im Laufe des Kapitels ein weiteres Werkzeug zur Programmierung in Python kennenlernen. Dies ist nötig, um ganze Programme schreiben zu können. Dennoch werden wir immer wieder mal den Live-Modus nutzen, um mögliche Lösungsideen o.ä. auszutesten. Dies gilt auch für dich: Teste deine Ideen ruhig im Live-Modus, bevor du deine Ideen in ein eigenes Programm umsetzt. Dazu aber später mehr.

Python bietet weiterhin die Möglichkeit, objektorientiert zu programmieren. Diese Art der Programmierung hat sich in den letzten Jahren durchgesetzt, da diese große Vorteile bietet. Was man genau unter objektorientierter Programmierung versteht, wollen wir jetzt erst mal nicht weiter vertiefen, sondern erst später in Grundzügen anreißen. Uns soll es vorerst einmal um die Grundlagen der Programmierung gehen, ohne die auch die objektorientierte Programmierung nicht auskommt.

Neben den bereits genannten Vorteilen von Python ist zu ergänzen, dass Python plattformunabhängig ist. Python-Programme laufen sowohl unter Windows oder auch unter Linux. Sogar auf einigen Handymodellen und Smartphones bzw. Tablets kann man Python verwenden. Leider hat Python auch einige Nachteile. Diese betreffen aber eher die Profiprogrammierer, so dass wir uns mit diesen nicht näher beschäftigen werden.

Abbildung
Der Python-Interpreter auf einem Nokia S60 Mobiltelefon

Abbildung
Der Python-Interpreter auf einem Tablet / Smartphone unter Android

Ausgabe von Text

Im letzten Kapitel haben wir die Ergebnisse von mathematischen Berechnungen ausgeben lassen. Manchmal kann es nützlich sein, diese mit einer Überschrift zu versehen. Beispiel: "Das Ergebnis von 1+1 ist" ...
Genau damit wollen wir uns jetzt beschäftigen. Bitte starte die Python-Shell, da wir diese jetzt verwenden wollen. Im letzten Kapitel haben wir ferner bereits gesehen, dass die Eingabe

Guten Tag!

nicht den gewünschten Erfolg bringt, sondern einen Syntax-Fehler nach sich zieht.

Um Ausgaben dieser Art zu erhalten, muss man den Python-Befehl

 print() 

verwenden. Die runden Klammern am Ende des Befehls kennst du sicherlich schon aus der Mathematik. Dort tauchen diese beispielsweise im Zusammenhang mit Funktionen auf. Du erinnerst dich sicherlich: print ist der Funktionsname und in den Klammern steht das Argument.

Icon Aufgabe 1

Wir haben uns im Informatikunterricht ebenfalls bereits mit Funktionen und Funktionsaufrufen beschäftigt. Erinnerst du dich noch daran, welches Themengebiet dies war?

Lösung:
Im Rahmen der Unterrichtsreihe zu den Tabellenkalkulationen haben wir bereits einige Funktionen kennengelernt. Beispielsweise die Summe()-, Wechseln()- oder Zeichen()-Funktion. Aber Achtung, diese Funktionen funktionieren in Python nicht, da sie hier andere Funktionsnamen haben.
Ebenfalls unterscheiden sich die Reihenfolge und die Trennung (durch Komma oder Semikolon) der benötigten Argumente.

Verwendet man den print()-Befehl, so sagt man auch, dass die print()-Funktion aufgerufen wurde. Damit die print()-Funktion weiß, was sie ausgeben (auf dem Bildschirm drucken) soll, braucht sie ein entsprechendes Argument. Das ist ähnlich wie in der Mathematik: Um einen Funktionswert zu berechnen, brauchst du einen entsprechenden Wert für x, um das zugehörige y zu berechnen.

Möchten wir die folgende Ausgabe

Guten Tag!

innerhalb der Python-Shell erhalten, so müssen wir folgende Eingabe tätigen:

print("Guten Tag!")

Wir geben die gewünschte Ausgabe als Argument bei dem Aufruf der print()-Funktion mit an. Wenn wir reinen Text ausgeben wollen, ist allerdings zu beachten, dass wir die gewünschte Ausgabe in Anführungszeichen setzen. Als Texte zählen in Programmiersprachen alle Folgen von Zeichen, also Buchstaben, Ziffern, Leer- oder Satzzeichen. Durch die Kennzeichnung als Text (durch Anführungszeichen) wird der Python-Interpreter den Text Zeichen für Zeichen ausgeben. Folgen von Zeichen, also beispielsweise "Guten Tag!" bezeichnet man im Rahmen der Programmierung auch als Zeichenketten oder (engl.) Strings.

Icon Datentypen

Daten können beispielsweise Zahlen, wie 123 oder -17,5 oder Folgen von Zeichen sein, wie beispielsweise "Leitprogramm" oder "Python ist eine Programmiersprache". Man kann bei diesen Daten unterscheiden, von welcher Art sie sind: Ganze Zahlen, Dezimalzahlen oder Zeichenketten. Diese Art nennt man Datentyp. Zeichenketten sind ein Beispiel für Datentypen, sie erkennt man an den Anführungszeichen. Ganze Zahlen oder Dezimalzahlen sind ebenfalls Beispiele für Datentypen. Dabei muss man darauf achten, dass 3 eine Zahl ist, aber " 3 " eine Zeichenkette.

Icon Aufgabe 2

Wo liegt der Unterschied in der Ausgabe nach Eingabe der folgenden Befehle?

print("1+1")
print(1+1)
Stelle zuerst eine Vermutung auf und prüfe diese anschließend mit dem Python-Interpreter.
Lösung:
Das Argument bei dem ersten Befehl ist ein Text. Das erkennt man an den vorhandenen Anführungszeichen. Als Ausgabe erhält man:
1+1
Der Python-Interpreter gibt die Zeichenkette Zeichen für Zeichen aus. Das Argument bei dem zweiten Befehl hingegen ist ein arithmetischer Ausdruck. Hier fehlen die entsprechenden Anführungszeichen. Als Ausgabe erhält man:
2
In diesem Fall wertet der Interpreter zuerst den Ausdruck aus und gibt anschließend das Ergebnis aus. Es handelt sich also um den Datentyp (ganze) Zahl.
Wir erkennen also, dass "1+1" und 1+1 nicht das Gleiche ist. Erinnerst du dich an das Schreibgespräch zu Beginn der Unterrichtsreihe? Hier tauchte eine ähnliche Unterscheidung auf.

Um den Unterschied nochmals zu verdeutlichen, machen wir folgendes Experiment: Gib den Befehl

print("1"*10)

ein und vergleiche die Ausgabe mit der Ausgabe des Befehles

print(1*10)

Überzeugt? Versuche die verschiedenen Ausgaben zu erklären.
Achte bei deiner weiteren Arbeit verschärft darauf, ob du Anführungszeichen setzen musst oder nicht und damit die unterschiedlichen Datentypen unterscheidest.

Syntax - Groß- und Kleinschreibung

Icon Aufgabe 3

Gib folgenden Befehl in der Python-Shell ein:

Print("Fehler")
Kannst du die Fehlermeldung verstehen und deuten?
Lösung:
Die Eingabe liefert folgende Fehlermeldung:
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'Print' is not defined
Scheinbar kennt Python die Print()-Funktion nicht.
Was lernen wir daraus? Python unterscheidet zwischen Groß- und Kleinschreibung. Print und print sind für Python zwei verschiedene Dinge. Diese Unterscheidung zwischen Groß- und Kleinschreibung hat Python mit vielen anderen Programmiersprachen gemeinsam. Achte also in Zukunft auf Groß- und Kleinschreibung, wenn du programmierst.

Wir halten fest:

Icon Achtung

Nicht nur im Deutschen oder Englischen wird zwischen Groß- und Kleinschreibung unterschieden. So haben beispielsweise die Wörter "essen" und "Essen" eine sehr unterschiedliche Bedeutung. Python unterscheidet ebenfalls zwischen Groß- und Kleinschreibung.
Eine weitere Fehlerquelle in deinen Programmen können vergessene Anführungszeichen sein!

Vorbereitungen für ein erstes Programm

In Kapitel I haben wir gelernt, dass ein Programm aus einer Folge von einfachen Anweisungen besteht. Entsprechend besteht ein Python-Programm aus einer Folge von Python-Anweisungen. Python-Programme werden oft auch als Skripte bezeichnet. Wenn wir im Folgenden nun von einem Programm sprechen, so meinen wir immer ein Python-Programm. Der zugehörige Quelltext, also die einzelnen Anweisungen, werden in einer Datei gespeichert, die die Dateiendung "py" trägt. Beispiel: "MeinProgramm.py". Dadurch können wir unsere Programme später weiterverwenden, wiederverwenden oder an andere Personen weitergeben.

Wie schreibt man nun ein solches Programm? Bisher haben wir nur im Live-Modus von Python, also in der Python-Shell, gearbeitet. Die Shell ist sehr nützlich, wenn wir Befehle ausprobieren oder erforschen wollen. Sie hat aber einen Nachteil: Alle Befehle werden sofort ausgeführt und die Ergebnisse ggf. direkt angezeigt. Stell dir vor, wir haben ein Spiel programmiert, das mehrere hundert Zeilen bzw. Anweisungen umfasst. Bevor wir es spielen können, müssten wir dieses jedes Mal eingeben. Dabei kann einem schon die Lust am Spielen vergehen.

Damit uns die Lust am Spielen aber nicht vergeht, werden wir im Folgenden die Möglichkeit nutzen, unsere Spiele oder Programme in entsprechenden Dateien zu speichern. Da das Laden und Speichern von Dateien über die Python-Shell zwar möglich, aber unnötig umständlich ist, werden wir ab sofort ein anderes Werkzeug nutzen. Wir werden gleich sehen, dass uns die Python-Shell aber dennoch erhalten bleibt.

Die Programmierumgebung unter Windows: PyScripter

Falls du in der Schule bist und unter Linux arbeitest oder falls du zu Hause bist und mit Linux arbeitest, geht es hier für dich weiter!

Du hast sicherlich schon bemerkt, dass sich in dem Programmordner von Python noch eine weitere Datei mit dem Namen "PyScripter-Portable" befindet.

Abbildung
Übersicht über die beiden vorhandenen ausführbaren Dateien im angegebenen Ordner

Dabei handelt es sich um eine sogenannte Entwicklungsumgebung, in diesem Fall speziell für Python. Entwicklungsumgebung bieten für die Programmierung jede Menge nützliche Funktionen, die uns das Programmieren ungemein erleichtern. Vorerst reicht uns aber die bequeme Möglichkeit mit PyScripter Programme zu speichern, zu laden und auszuführen. Einen Teil der weiteren Funktionen werden wir später noch kennenlernen. Einen Großteil des Funktionsumfanges werden wir am Anfang nicht benötigen.

Icon Bevor du weiterliest

Bitte lege in deinem Documentsverzeichnis einen weiteren Ordner mit der Bezeichnung "04 Programmierung" an. In diesem legst du bitte einen Ordner mit der Bezeichnung "Leitprogramm Kapitel 02" an. Bitte speichere dort alle Dateien des aktuellen Kapitels, damit du sie später wiederfindest.
Für alle folgenden Kapitel gilt: Lege jeweils zu Beginn des Kapitels nach dem obigen Muster einen neuen Ordner an, in dem du alle Programme speicherst.

Nach dem Start von PyScripter siehst du folgendes Fenster auf dem Bildschirm:

Abbildung
Screenshot von PyScripter

Im unteren Teil findest du unsere Python-Shell wieder. Diese trägt hier die Überschrift "Python Interpreter". Probiere ruhig einige bekannte Anweisungen dort aus. Am linken Rand befindet sich der Projekt-Explorer. Diesen benötigen wir erst mal nicht. Viel wichtiger ist das große Eingabefeld. Hier können wir unsere Programme schreiben. Gib dort Folgendes ein:

print("Hallo")
print("Welt") 

Beachte, dass jede Anweisung in eine neue Zeile geschrieben werden muss! Du kannst - wie bereits angesprochen - die Zeilen einfach kopieren. Die entsprechende Nummierung verschwindet vorher. Diese brauchst du nicht einzugeben. Ebenfalls ist es nicht nötig, dass du auf Papier die Zeilen nummerierst, sofern du eine Zeile unter die nächste schreibst. Bevor wir unser erstes Programm ausführen können, müssen wir es speichern. Dies geschieht unter "File -> Save". Speichere die Datei unter dem Namen HalloWelt.

Abbildung
Screenshot des "Speichern unter"-Dialogfeldes

Jetzt sind wir soweit. Wir können unser erstes Programm laufen lassen. Welche Ausgabe erwartest du? Wo wirst du die Ausgabe finden? Klicke dazu auf den kleinen grünen Pfeil unterhalb der Menüleiste. Alternativ kannst du auch die Tastenkombination strg+F9 benutzen.

Abbildung
Screenshot von PyScripter mit Hervorhebung der genannten Schaltfläche zur Ausführung des Programmes

Die zugehörige Ausgabe finden wir in der Python-Shell:

Abbildung
Screenshot der Ausgabe unseres ersten Programmes

Falls du nicht unter Linux arbeitest, kannst du den nächsten Abschnitt (vorerst) überspringen, hier geht es dann für dich weiter!

Die Programmierumgebung unter Linux: Geany

Unter Linux verwenden wir (in der Schule) den Texteditor Geany:

Abbildung
Start / Icon von Geany. Im Hintergrund siehst du eine gestartete Python-Shell.

Dabei handelt es sich um eine sogenannte Entwicklungsumgebung. Entwicklungsumgebung bieten für die Programmierung jede Menge nützliche Funktionen, die uns das Programmieren ungemein erleichtern. Vorerst reicht uns aber die bequeme Möglichkeit mit Geany Python Programme zu speichern, zu laden und auszuführen. Einen Teil der weiteren Funktionen werden wir später - bei Bedarf - noch kennenlernen. Einen Großteil des Funktionsumfanges werden wir am Anfang und auch später nicht benötigen.

Icon Bevor du weiterliest

Bitte lege in deinem Documentsverzeichnis einen weiteren Ordner mit der Bezeichnung "04 Programmierung" an. In diesem legst du bitte einen Ordner mit der Bezeichnung "Leitprogramm Kapitel 02" an. Bitte speichere dort alle Dateien des aktuellen Kapitels, damit du sie später wiederfindest.
Für alle folgenden Kapitel gilt: Lege jeweils zu Beginn des Kapitels nach dem obigen Muster einen neuen Ordner an, in dem du alle Programme speicherst.

Nach dem Start von Geany siehst du ein Fenster auf dem Bildschirm, was ungefähr so aussieht:

Abbildung
Screenshot von Geany

Im unteren Teil findest du unsere Python-Shell wieder. Diese musst du allerdings "von Hand" starten: Gehe dazu im unteren Teil des Fensters auf Terminal und gib dort - wie bekannt - "python" ein. Probiere ruhig einige bekannte Anweisungen dort aus. Du wirst sehen, sie funktioniert wie bereits bekannt. Am linken Rand befindet sich weitere Leisten, die wir aber erst mal nicht benötigen. Viel wichtiger ist das große Eingabefeld. Hier können wir unsere Programme schreiben. Gib dort Folgendes ein:

print("Hallo")
print("Welt") 

Beachte, dass jede Anweisung in eine neue Zeile geschrieben werden muss! Du kannst - wie bereits angesprochen - die Zeilen einfach kopieren. Die entsprechende Nummierung verschwindet vorher. Diese brauchst du nicht einzugeben. Vielmehr ist es so, dass es einen Syntax-Fehler gibt, wenn du diese ebenfalls von Hand eingibst! Ebenfalls ist es nicht nötig, dass du auf Papier die Zeilen nummerierst, sofern du eine Zeile unter die nächste schreibst. Bevor wir unser erstes Programm ausführen können, müssen wir es speichern. Dies geschieht unter "Datei -> Save" oder über den zugehörigen Icon in der Werkzeugleiste. Speichere die Datei unter dem Namen HalloWelt. Die Dateiendung *.py darfst du unter Linux bzw. in Geany nicht vergessen, ansonsten wir dein Programm nicht laufen, da der Computer sonst nicht weiß, in welcher Sprache dein Programm geschrieben ist!

Abbildung
Screenshot des "Datei speichern"-Dialogfeldes

Jetzt sind wir soweit. Wir können unser erstes Programm laufen lassen.

  • Welche Ausgabe erwartest du?
  • Wo wirst du die Ausgabe finden?
Klicke dazu auf das Zahnrad in der Werkzeugleiste unterhalb der Menuleiste. Alternativ kannst du auch die Taste F5 benutzen.

Die zugehörige Ausgabe finden wir einem neuen Fenster:

Abbildung
Screenshot der Ausgabe unseres ersten Programmes

Die Meldung unterhalb der gestrichelten Linie besagt nur, dass dein Programm ohne Probleme ausgeführt wurde. Du kannst das Fenster jetzt schließen - dazu kannst du das kleine x oben in der Fensterleiste klicken oder einfach Enter drücken.

Möchtest du unter Geany in der Datei Sonderzeichen, wie zum Beispiel ä, ö oder ü benutzen, musst du eine Einstellung (für jede Datei!) ändern:

Abbildung
Unter Dokument muss für jede Datei die Option "Unicode BOM schreiben" aktiviert werden.

Und weiter geht es ...

Icon Aufgabe 4

Lege eine Datei mit dem Namen "Begruessung" an. Schreibe in diese ein Programm, das dich persönlich begrüßt.

Lösung:
Möglicher Quellcode:
 print("Hallo Peter Pan!") 
print("Wie geht es dir?")
Der Name muss hier entsprechend ausgetauscht werden. Achte auf die Dateiendung unter Linux!

Zugegeben, unsere ersten beiden Programme haben keine große Funktionalität und sind recht simpel. Aber als du Fahrradfahren gelernt hast, bist du auch nicht zuerst den Rhein von der Quelle bis zu Mündung entlang gefahren, sondern hast vor dem Haus oder im Garten auf Rasen geübt, das Gleichgewicht zu halten, anzufahren und so weiter ...
Ähnlich ist es bei der Programmierung. Zwei wichtige Schritte haben wir erreicht: Wir können die Entwicklungsumgebung nutzen, um Programme anzulegen, zu speichern und auszuführen. Weiter sind wir in der Lage ein kleines Programm zu schreiben.

Die Ausgabe von "Hallo Welt" ist übrigens im Rahmen der Programmierung ein Klassiker. Fast alle Bücher zum Einstieg in die Programmierung oder zur Einführung in eine neue Programmiersprache starten mit dieser Ausgabe als erstes Programm.

In der Shell können wir

1+1

direkt eingeben und erhalten sofort die zugehörige Ausgabe. Möchten wir das Ergebnis in einem Programm ausgeben, müssen wir den arithmetischen Ausdruck der print()-Funktion als Parameter mit auf den Weg geben. Die zugehörige Zeile würde lauten:

 print(1+1) 

Würden wir nur

 1+1  

eingeben, so würde das Ergebnis zwar berechnet, aber nie ausgegeben werden.

Machen wir direkt weiter und ergänzen unser erstes Programm um eine kleine Rechnung:

Icon Aufgabe 5

Schreibe zwei unterschiedliche Programme, die die folgende Ausgabe erzeugen:

Quizfrage:
Die Differenz von fünf und vier ist
1
Speichere beide Programme unter einem sinnvollen Dateinamen!
Lösung:
Möglichkeit 1:
print("Quizfrage:") 
print("Die Differenz von fünf und vier ist")
print(1)
Möglichkeit 2:
print("Quizfrage:") 
print("Die Differenz von fünf und vier ist")
print(5-4)
Als Dateinamen bieten sich "QuizfrageOhneRechnung" und "QuizfrageMitRechnung" an.

Icon Zwei Ergänzungen zur print()-Methode
  1. Zur Ausgabe einer Leerzeile ruft man die Anweisung print() ohne Argumente auf. Wichtig: Du musst trotzdem die Klammern schreiben, auch wenn zwischen diesen nichts steht. Konkret muss du die folgende Anweisung in das Programm integrieren:
    print() 
  2. Möchtest du mehrere (unterschiedliche) Ausgaben kombinieren, so kannst du diese einfach durch Kommata voneinander trennen:
    print("Die Summe von 1 und 1 ist",1+1)
    Die obige Anweisung liefert die Ausgabe:
    Die Summe von 1 und 1 ist 2

Icon Aufgabe 6

Ergänze die obigen Ausgabe so, dass am Satzende ein Punkt steht. Beschreibe, was dir auffällt.

Lösung:
print("Die Summe von 1 und 1 ist",1+1,".")
Man ergänzt in der Anweisung ein drittes Argument, hier ".". Dazu muss man ferner noch ein Komma ergänzen. Auf diese Art und Weise kann man beliebig viele Ausgaben miteinander kombinieren.
Zwischen der 2 und dem Punkt am Satzende befindet sich noch ein Leerzeichen. Offensichtlich ergänzt Python zwischen den einzelnen Parametern jeweils vor der Ausgabe ein Leerzeichen. Dies lässt sich aber notfalls verhindern.
Die Summe von 1 und 1 ist 2 .

Hilfsstellungen

Wir haben nun bereits vier eigene Programme erstellt. Jedes Programm ist in einer Datei zu finden, die einen eigenen Namen trägt. Noch kannst du dir merken,

  • was jedes Programm macht,
  • wann du es geschrieben hast,
  • dass du dieses Programm geschrieben hast und nicht jemand anders.
  • Kannst du aber in ein paar Wochen anhand des Dateinamens noch entscheiden, was das Programm macht?
  • Weißt du dann noch, wann du das Programm geschrieben hast?
  • Kannst du dann noch sagen, wann und ob du später daran noch eine Änderung oder Verbesserung vorgenommen hast?
  • Wenn du Programme bekommst, kannst du dich noch erinnern, wer das Programm geschrieben hat? War das auch derjenige, der dir das Programm gegeben hat?

Auf einen Teil dieser Fragen wirst du sicherlich später keine Antwort mehr wissen. Um das zu verhindern, versehen (gute) Programmierer ihre Programme mit Kommentaren. Einerseits können sich die Kommentare auf die ganze Datei beziehen oder aber nur auf einzelne Zeilen. Kommentare werden in Python, wie in anderen Programmiersprachen auch, mit in den Quellcode geschrieben - jeweils in eine eigene Zeile. Sie stehen damit wie ein eigentlicher Befehl in einer Zeile. Damit der Python-Interpreter aber nicht versucht, unseren Kommentar auszuführen, werden diese Zeilen durch das "#"-Symbol am Anfang der Zeile gekennzeichnet. Beispiel für einen Kommentar, der sich auf eine Zeile bezieht:

 # Ein Kommentar
# Gleich wird 1+12 berechnet und ausgegeben.
print(1+12)

Der Kommentar steht in Zeile 02 und bezieht sich auf die darunterliegende Zeile, also die Zeile mit der Nummer 03.

Sicherlich ist es eigentlich nicht nötig, die obige Anweisung zu kommentieren, da du sie ja bereits verstanden hast. Bei komplexeren Anweisungen wirst du aber später dankbar sein, wenn du dir notiert hast, was du dir dabei gedacht hast. So finden sich ggf. vorhandene Fehler in den meisten Fällen viel schneller. Ebenso wird es für jemand anderes deutlich einfacher, dein Programm zu verstehen, wenn du zusätzliche "Erklärungen" mitlieferst.

Zusätzlich zu Kommentaren, die sich auf einzelne Zeilen beziehen, gibt es den sog. Kopfkommentar. Dieser bezieht sich auf die gesamte Datei und gibt Auskunft über Autor, Funktionalität des Programms, Datum etc. Eine Vorlage könnte wie folgt aussehen:

 # # Autor(en)
 # Dein Name 
 # # Datum 
 # 20.02.2011 
 # # letzte Aenderung
 # 21.02.2011
 # # Beschreibung
 # Das Programm ...
 # ... 

Wir einigen uns ab sofort darauf in jedem Programm, das wir anlegen, zuerst einen Kopfkommentar anzulegen und entsprechend auszufüllen. Sollten wir später etwas an dem Programm ändern, ändern wir automatisch das Datum der letzten Änderung mit! Dies wird uns helfen, einen Überblick über unsere Programme zu behalten und sie bei Bedarf schnell wiederzufinden.

Hinweis: Wir können die Vorlage jeweils von einem alten Programm kopieren und abändern. So brauchen wir den Kopfkommentar nicht jedes Mal neu zu schreiben.

Ebenso werden wir die wichtigsten Stellen unserer Programme im Folgenden immer kommentieren. Dies hilft dir nicht nur bei der Vorbereitung auf die kommende Kursarbeit, wenn du dir die Programme zur Vorbereitung nochmal anschaust. Die Kommentare werden dich vor allem aber bei der Programmierung unterstützen, weil du dir nochmal kurz Gedanken "dazu" machen musst und vor allem kurz schriftlich (in eigenen Worten) fixieren musst, was du vorhast und wie du das Ziel erreichen willst. So bleibt unser Gedankengang im Nachhinein, aber auch für andere Personen, (leicht) nachvollziehbar.

Icon Aufgabe 7

Ergänze alle bisher geschriebenen Programme um einen Kopfkommentar. Passe die Einträge (Datum, Autor(en), Beschreibung etc.) entsprechend an.

Lösung:
Ein mögliches Beispiel:
# # Autor(en)
# Christian Graf 
# # Datum 
# 20.02.2011 
# # letzte Aenderung
# 21.02.2011
# # Beschreibung
#  Ausgabe einer Quizfrage und anschließende Beantwortung.
#  Die Antwort wird NICHT berechnet. 
print("Quizfrage:") 
print("Die Differenz von fünf und vier ist")
print(1)

Icon Aufgabe 8

Macht es Sinn, den Dateinamen mit in den Kopfkommentar aufzunehmen? Erläutere.

Lösung:
Hier sind beide Möglichkeiten richtig, da es für beide gute Argumente gibt: Dafür spricht beispielsweise, dass man dann eine weitere wichtige Information mit einem Blick einsehen kann. Dagegen spricht u.a., dass man den Dateinamen zwangsweise vor dem Kopfkommentar lesen muss, wenn man die Datei öffnen will. Daher wäre eine Auflistung des Dateinamens redundant.
Wir wollen im Weiteren darauf verzichten, den Dateinamen mit anzugeben.

Durch die Kommentare haben wir ein erstes wichtiges Hilfsmittel kennengelernt, das uns die Programmierung oder besser das Wiederfinden und Korrigieren von Programmen erleichtert. Das zweite Hilfsmittel hast du sicherlich bereits wahrgenommen.

Abbildung
Screenshot der einzelnen (farblichen) Hervorhebungen unter PyScripter

Abbildung
Screenshot der einzelnen (farblichen) Hervorhebungen unter Geany

PyScripter bzw. Geany färbt unseren Quelltext in unterschiedlichen Farben ein. Auf diese Weise werden dir einzelne Anweisungen bzw. Bestandteile einzelner Anweisungen der Programme verdeutlicht. So werden Kommentare in grün, Zeichenketten bzw. Strings in oliv, Zahlen in blaugrün hervorgehoben. Auf diese Weise ist es schnell möglich zu erkennen, wo ein Funktionsaufruf stattfindet, wo eine Zeichenkette steht und so weiter.

Versuche bei der Programmierung darauf zu achten, wie sich deine Eingaben bzw. deine Anweisungen verfärben. Hat eine Anweisung nicht die gewünschte Verfärbung, so stimmt mit hoher Wahrscheinlichkeit etwas nicht. Fällt dir in der folgenden Abbildung der Fehler auf?

Abbildung
Screenshot der einzelnen (farblichen) Hervorhebungen bei PyScripter
Hier stimmt die farbliche Markierung der print()-Funktionen nicht überein - ein Hinweis auf einen Fehler.

Richtig, die obige print()-Anweisung ist bläulich dargestellt, die untere hat eine schwarze Schrift. Du erinnerst dich sicherlich an den bereits angesprochenen Unterschied zwischen Groß- und Kleinschreibung. Hier wurde die print()-Anweisung versehentlich groß geschrieben. Daher ist PyScripter nicht in der Lage, die Anweisung entsprechend einzufärben. Dies weist uns in diesem Fall auf einen Fehler hin! PyScripter wird allerdings nicht alle unsere Eingaben einfärben, sondern nur bestimmte Schlüsselwörter, Kommentare, Zeichenketten etc. Aus diesem Grund wird ein großer Teil unserer Anweisungen eine schwarze Schriftfarbe haben. Dennoch bietet die Färbung von Anweisungen oder Bestandteilen von Anweisungen einen guten Ansatzpunkt, Fehler zu finden.

Auch wenn in letztem Abschitt nur vom PyScripter die Rede war, gelten die Ausführungen vollkommen analog für Geany. Probiere es ruhig aus!

Weiter geht's mit der Lernfortschrittskontrolle zu Kapitel II.