Teil 2: Variablen
Lernziele
- Erklären, was eine Variable ist, und den Unterschied zur Variable in der Mathematik benennen
- Werte mit
=zuweisen und Variablen überschreiben- Gültige und aussagekräftige Variablennamen wählen
- Ein Programm Zeile für Zeile von Hand nachvollziehen und die Werte notieren
- Werte vom Benutzer mit
inputeinlesenNeue Befehle und Zeichen:
=weist einer Variable einen Wert zuinput()liest einen Wert vom Benutzer ein-subtrahiert und bildet die Gegenzahl*multipliziert/dividiert
Variablen
Variablen sind Speicherplätze für Daten in einem Programm. Sie geben Informationen einen Namen, damit wir sie später wieder erreichen. Jede Variable hat einen Namen und einen Wert.
Nicht dasselbe wie in der MathematikIn der Mathematik beschreibt eine Aussage über eine unbekannte Grösse. In der Programmierung ist
x = 3eine Anweisung: „Lege den Wert 3 in den Speicherplatzx.“ Deshalb ergibtx = x + 1in Python Sinn, in der Mathematik wäre es ein Widerspruch.
Zuweisen und überschreiben
mein_jahrgang = 2010
print(mein_jahrgang)
Jedes Mal, wenn im Programm danach mein_jahrgang steht, verwendet Python den aktuell gespeicherten Wert.
Regeln für Variablennamen
- Erlaubt sind Buchstaben, Ziffern und der Unterstrich
_.- Der Name darf nicht mit einer Ziffer beginnen.
- Gross- und Kleinschreibung macht einen Unterschied:
alterundAltersind zwei verschiedene Variablen.- Wörter, die Python schon selbst benutzt, solltest du nicht als Variablennamen verwenden, zum Beispiel
input,str,int,list,sumodertype. Nachprint = 5meldet Python zwar keinen Fehler, aberprint("Hallo")funktioniert danach nicht mehr.- Schlüsselwörter wie
if,else,for,whileunddefsind ganz gesperrt. Python meldet dort sofort einenSyntaxError.- Wähle aussagekräftige Namen:
anzahl_schuelerstatta. Besteht der Name aus mehreren Wörtern, trennt man sie mit Unterstrichen.
Was passiert im folgenden Programm?
mein_jahrgang = 2010
print(mein_jahrgang)
print(mein_jahrgang + 1)
print(mein_jahrgang)
2010
2011
2010
Der Wert der Variable hat sich nicht geändert, obwohl wir in der Mitte + 1 gerechnet haben. Wir haben das Ergebnis nur ausgegeben. Ändern lässt sich eine Variable nur mit dem =-Operator:
mein_jahrgang = 2010
mein_jahrgang = mein_jahrgang + 1
print(mein_jahrgang)
Python wertet dabei zuerst die rechte Seite aus () und legt das Ergebnis dann in die Variable auf der linken Seite.
Neben + gibt es die Operatoren - (Subtraktion), * (Multiplikation) und / (Division). Das Minuszeichen dient auch zur Gegenzahl: Hat a den Wert 3, dann hat -a den Wert -3.
Werte einlesen
Mit input können wir den Benutzer nach einem Wert fragen:
alter = input("Wie alt bist du? ")
print(alter)
Wie alt bist du? 15
15
Eingaben sind Text
inputliefert das Eingetippte als Zeichenkette zurück, auch wenn es wie eine Zahl aussieht. Zum Ausgeben reicht das. Willst du mit der Eingabe rechnen, musst du sie zuerst in eine Zahl umwandeln. Wie das geht, siehst du in Teil 3.
Aufgaben
Aufgabe 2.1Berechne von Hand, welche Werte die Variablen am Ende haben. Schreibe dir Zeile für Zeile auf, wie sich die Werte ändern. Prüfe erst danach mit dem Computer.
Aufgabe 2.2Berechne wieder von Hand, welchen Wert
xam Ende hat, und notiere alle Zwischenwerte.
Aufgabe 2.3Warum geben diese beiden Programme eine Fehlermeldung? Formuliere für jedes eine Erklärung in einem Satz.
Aufgabe 2.4Schreibe ein Programm, das Köpfe, Schultern, Knie und Zehen an einer Party zählt. Die Variable
personenist bereits definiert. Dein Programm soll die vier Variablenkoepfe,schultern,knieundzehenberechnen und ausgeben. Es muss für jede Personenzahl funktionieren.
Aufgabe 2.5Schreibe ein Programm, das die Werte von
xundyvertauscht. Nach dem Programm muss der alte Wert vonxinystehen und umgekehrt. Gib beide Werte aus.
Aufgabe 2.6Schreibe ein Programm, das nach dem Namen fragt und anschliessend begrüsst.
Aufgabe 2.7Auf der ersten Zeile deines Programms steht eine Zahl, zum Beispiel
x = 5. Alles Weitere soll nur mitxrechnen.
- (a) Berechne
summealsx + 3,differenzalsx - 3,produktalsx * 3undquotientalsx / 3. Gib die vier Werte wie unten aus.- (b) Ändere nur die erste Zeile auf
x = 12und starte das Programm erneut. Notiere die vier Ergebnisse. Warum genügt diese eine Änderung?- (c) Ergänze das Programm um eine einzige Zuweisung
ergebnis = (x + 3) * (x - 1) / x - 2und gib den Wert aus. Rechne ihn fürx = 5zuerst von Hand nach. Lasse danach alle Klammern weg und erkläre, warum etwas anderes herauskommt. Und was passiert beix = 0?Summe: 8 Differenz: 2 Produkt: 15 Quotient: 1.6666666666666667
Aufgabe 2.8Drei Noten sind gegeben. Berechne den Durchschnitt in einer Variablen
schnittund gib ihn aus. Danach wirdnote3auf5.5korrigiert. Gib den Durchschnitt erneut aus.
Aufgabe 2.9Schreibe ein Programm, das nacheinander nach dem Namen, dem Wohnort und der Schule fragt und die drei Angaben anschliessend in einem einzigen Satz ausgibt. Baue den Satz zuerst mit
+und danach mit Kommas in
Weitere Aufgaben
Zusatzaufgabe 2.10Schreibe ein Programm, das die Anzahl Augen, Flügel und Beine auf einem Bauernhof zählt. Die Variablen
schweine,huehnerundfliegensind bereits definiert; dein Programm definiertaugen,fluegelundbeineund gibt sie aus. Tipp: Fliegen haben sechs Beine und zwei Flügel, Hühner zwei Beine und zwei Flügel.
Zusatzaufgabe 2.11Ein Budget von 100 Franken wird um 15 gekürzt und danach verdoppelt. Schreibe das Programm und gib das Ergebnis aus. Sage vorher voraus, was herauskommt.
Zusatzaufgabe 2.12Die drei Werte sollen im Kreis weitergereicht werden:
abekommt den alten Wert vonc,bden alten vonaundcden alten vonb. Du darfst nur eine einzige Hilfsvariable benutzen.