Teil 1: Einführung

Lernziele
  • Erklären, was ein Programm und was eine Programmiersprache ist
  • Text mit print ausgeben und dabei Anführungszeichen korrekt setzen
  • Zeichenketten verbinden (+) und vervielfachen (*)
  • Zeilenumbrüche und Tabulatoren mit \n und \t erzeugen
  • Kommentare schreiben und einfache Fehlermeldungen einordnen

Neue Befehle und Zeichen:

  • print() gibt Text aus
  • # leitet einen Kommentar ein
  • + verbindet zwei Zeichenketten
  • * vervielfacht eine Zeichenkette
  • \n erzeugt einen Zeilenumbruch
  • \t erzeugt einen Tabulator
  • \\ erzeugt einen Backslash

Einführung

Ein Computerprogramm ist eine Folge von Befehlen, die dem Computer Anweisungen geben. So wie Sätze in menschlichen Sprachen wie Deutsch oder Französisch ausgedrückt werden, wird jedes Programm in einer Programmiersprache ausgedrückt.

Unsere Wahl fällt auf Python. Die Syntax von Python, also die Regeln, nach denen Programme aufgebaut sind, ist verhältnismässig einfach. Trotzdem lassen sich damit beliebig komplexe Programme schreiben. Die meisten Programmiersprachen bauen auf denselben Prinzipien auf: Wer Python beherrscht, lernt andere Sprachen deutlich leichter.

Warum ausgerechnet Python?

Plattformunabhängig: Ein Python-Programm läuft unter Windows, macOS und Linux gleichermassen.

Open Source: Der Quelltext von Python ist frei zugänglich. Alle können zur Entwicklung beitragen, und der Zugriff bleibt auch in Zukunft gesichert.

Das erste Programm

print("Hallo, Welt!")

Dieses Programm besteht aus einem einzigen Befehl und erzeugt eine einzeilige Ausgabe:

Hallo, Welt!
Unsere Programmierumgebung: WebTigerPython

Wir programmieren im Browser unter https://webtigerpython.ethz.ch. Du musst nichts installieren und nichts speichern: Code eintippen, auf Run klicken, fertig. Die Ausgabe erscheint im Fenster darunter.

Willst du zu Hause weiterarbeiten, öffnest du dieselbe Adresse. Deine Programme kannst du über den Link in der Adresszeile sichern oder als Datei herunterladen.

Die Bestandteile von print

Weicht man davon ab, gibt es eine Fehlermeldung. Probiere aus, was passiert, wenn die Anführungszeichen fehlen, und was, wenn die Klammern fehlen:

print(Hallo, Welt!)
print "Hallo, Welt!"

Der Computer beendet dann die Ausführung und meldet den Fehler. Das ist nichts Schlimmes: Fehlermeldungen sind die wichtigste Hilfe beim Programmieren. In Teil 6 schauen wir sie uns genauer an.

Kommentare

Zeilen, die mit einem Hashtag # beginnen (Alt+3), werden von Python ignoriert. Sie sind für Menschen gedacht, nicht für den Computer.

# Dieses Programm begrüsst die Klasse
print("Hallo, 3d!")

Gewöhne dir an, deine Programme zu kommentieren. Spätestens in drei Wochen bist du dir selbst dankbar dafür.

Aufgaben

Aufgabe 1.1

Schreibe ein Programm, das folgende Ausgabe erzeugt:

Bonjour, tout le monde!
PythonLoading editor…
Aufgabe 1.2

Schreibe ein Programm, das zwei Wörter miteinander verbindet. Wörter verbindet man, indem man sie mit einem + aneinanderhängt, z.B. "Du" + "rchsage".

PythonLoading editor…
Aufgabe 1.3

Wörter lassen sich auch vervielfachen: print(3 * "KZI") gibt KZIKZIKZI aus. Gib deinen Namen 10'000-mal aus. Was passiert, wenn der Faktor sehr gross wird?

PythonLoading editor…
Aufgabe 1.4

Mit \n erzeugst du einen Zeilenumbruch mitten im Text. Den Backslash \ tippst du auf dem Mac mit Alt+Shift+7, unter Windows mit AltGr und der Taste < links neben dem Y. Schreibe die folgende Adresse mit einer einzigen print-Anweisung:

Kantonsschule Zimmerberg
Steinacherstrasse 101
8804 Au ZH
PythonLoading editor…
Aufgabe 1.5

Finde heraus, was das Zeichen \t bewirkt. Schreibe ein Programm, das die folgende Tabelle ausgibt:

Name       Vorname    Klasse
Muster     Anna       3d
PythonLoading editor…
Aufgabe 1.6

Schreibe ein Programm, das zwei Zahlen addiert und das Resultat ausgibt.

PythonLoading editor…
Aufgabe 1.7

Recherchiere, was LOC bzw. SLOC in der Informatik bedeutet, und wie viele LOC zum Beispiel Minecraft hat.

Aufgabe 1.8

print kann auch mehrere Dinge gleichzeitig ausgeben, getrennt durch Kommas. Finde heraus, worin sich die beiden Programme unterscheiden:

PythonLoading editor…
# Programm 1
print("3 + 4 =", 7)

# Programm 2
print("3 + 4 =")
print(7)
Aufgabe 1.9

Zeichne einen Rahmen aus Sternchen. Löse die Aufgabe zuerst mit vier print-Anweisungen und danach mit einer einzigen.

PythonLoading editor…

Weitere Aufgaben

Zusatzaufgabe 1.10

Weil der Backslash je nach folgendem Zeichen etwas anderes bewirkt (\n, \t), kann man ihn nicht einfach so ausgeben. Recherchiere, wie man mit print einen echten Backslash ausgibt.

PythonLoading editor…
Zusatzaufgabe 1.11

Gib 100 Lorem-Ipsum-Wörter aus (https://www.loremipsum.de) und füge an geeigneten Stellen Zeilenumbrüche ein, damit die Ausgabe lesbar bleibt.

PythonLoading editor…
Zusatzaufgabe 1.12

Zeichne mit print eine Treppe aus Sternchen. Versuche, möglichst wenig zu tippen. Denk an * und \n.

PythonLoading editor…
Zusatzaufgabe 1.13

Zeichne einen Tannenbaum mit fünf Reihen und einem Stamm, genau wie unten. Setze *, + und \n so ein, dass du möglichst wenig tippst.

    *
   ***
  *****
 *******
*********
    |
PythonLoading editor…
Zusatzaufgabe 1.14

Was passiert bei print("Hallo" + 3)? Und bei print("Hallo" * 3)? Erkläre den Unterschied in eigenen Worten.