Variablen und Datentypen
Grundlagen
In der Mathematik kann x = 5 als Behauptung gelesen werden: „x ist das gleiche wie 5“. Die Behauptung x = 5 ist demnach gleichbedeutend mit 5 = x. In der Mathematik ist es also egal, auf welcher Seite des Gleichheitszeichens die Variable steht.
Beim Programmieren ist das anders: Hier ist x = 5 keine Behauptung, sondern eine Anweisung. Wir weisen den Computer an, den Wert der Variable x auf 5 zu setzen. Eine solche Anweisung hat eine Richtung: x wird auf 5 gesetzt, nicht umgekehrt. Die Reihenfolge ist deshalb entscheidend! Der Datenfluss geht von rechts nach links: Rechts von Gleichzeichen steht der Wert, den wir in die Variable schreiben wollen. Links davon steht der Name der Variable.

Variablen können ihren Wert im Laufe des Programms ändern (d.h. überschrieben werden):
Variablennamen in Python
Variablennamen können mehr oder weniger frei gewählt werden. Es gibt aber einige Regeln, an die wir uns halten müssen. Zudem gibt es Konventionen, an die wir uns halten sollten.
Harte Regeln
Wenn wir diese Regeln nicht befolgen, können wir das Programm nicht ausführen.
Erlaubt sind nur alphanumerische Zeichen (also Gross- und Kleinbuchstaben, sowie Zahlen), sowie der Underscore (_). Umlaute (ä, ö, ü) und Leerschläge sind nicht erlaubt.
- ✅
groesse_person_1 - ❌
grösse_person_1 - ❌
groesse person 1
Hinweis: Einige Python-Umgebungen (z.B. Classrooms) können inzwischen mit Umlauten umgehen. Trotzdem gilt es weiterhin als harte Regel, diese nicht zu verwenden, da sie in anderen Python-Umgebungen zu Problemen führen können.
Ein Variablenname muss mit einem Buchstaben (oder mit einem Underscore (_)) beginnen (also nicht mit einer Zahl).
- ✅
groesse_person_1 - (✅
_groesse_person_1← nur in ganz spezifischen Fällen1) - ❌
1_groesse_person
Die Gross- und Kleinschreibung wird berücksichtigt. hallo und HaLLo sind also zwei unterschiedliche Variablennamen.
Python-Keywords2 wie for und import dürfen nicht als Variablennamen verwendet werden.
Konventionen
(Un)verbindliche Abmachungen, die uns dabei helfen, möglichst einheitlichen Python-Code schreiben. Es gehört zum guten Stil, dass wir uns daran halten.
Wir verwenden nur Kleinbuchstaben, Zahlnen und Underscores. Keine Grossbuchstaben.
- ✅
seite - ✅
quadrat_2 - ❌
Quadrat
Wenn Variablen aus mehreren Wörtern bestehen, trennen wir die Wörter mit einem Underscore (_), damit sie lesbar bleiben.
- ✅
anzahl_ecken - ❌
anzahlecken
Wir verwenden sinnvolle, sprechende Namen für Variablen. Der Name sollte möglichst genau beschreiben, was die Variable enthält. So können wir den Code später besser verstehen.
Anders als in der Mathematik verwenden wir beim Programmieren eher nicht Variablennamen wie a und x, da sie wenig über ihre Bedeutung aussagen. Wenn möglich, verwenden wir lieber sprechende Variablennamen wie seitenlaenge oder anzahl_seiten.
Quiz
Offline Quiz
Antworten werden nicht gespeichert und das Quiz kann nicht bewertet werden.Programmieraufgaben
Erweitern Sie das unten stehende angefangene (aber nicht fertige) Turtle-Programm so, dass ein beliebiges n-Eck mit Seitenlänge seite gezeichnet wird.
Mit den hier voreingestellten Werten würde also ein Fünfeck mit Seitenlänge 100 gezeichnet. Sie sollen die
Werte aber auch z.B. zu n = 3 und seite = 150 ändern können, um in dem Fall ein Dreieck mit Seitenlänge 150 zu erhalten.
Schlussendlich muss sich die Turtle bei einem beliebigen n-Eck immer einmal um insgesamt 360° drehen.
from turtle import *
shape('turtle')
n = 5
seite = 100
Beim unten stehenden Python-Programm gibt es einen Fehler. Das Programm ist momentan nicht ausführbar.
Analysieren Sie den Code und finden Sie das Problem. Ergänzen Sie genau eine Zeile, um das Problem zu lösen. Bestehende Zeilen (ausser Leerzeilen) dürfen nicht verändert oder gelöscht werden.
Am Schluss sollte die Zeichnung so aussehen:
from turtle import *
penup()
back(100)
pendown()
pencolor('red')
for i in range(5):
forward(30)
left(72)
penup()
forward(abstand)
pendown()
pencolor('blue')
for i in range(4):
forward(35)
left(90)
penup()
forward(abstand)
pendown()
pencolor('brown')
for i in range(6):
forward(20)
left(60)