Programme berechnen meistens Werte. Dieser Werte können dann mit einer sogenannte Zuweisung in einer Variablen abgespeichert werden. So kann das Programm später wieder auf den berechneten Wert zugreifen
Eine Variable ist ein Gefäss worin sich ein Wert speichern lassen kann. Die Variable braucht einen Namen, damit man später wieder darauf zugreifen kann.
# Namen
Den Variablennamen können wir mit folgenden Einschränkungen selbst wählen:
- kein reserviertes Schlüsselwort das in Python verwendet wird.
- weder Leerzeichen noch Sonderzeichen
- beginnt mit einem Buchstaben
Zudem halten wir uns bei der Namenswahl an die folgende Konventionen
- alles Kleinbuchstaben – ausser wir wollen den Wert nie mehr ändern: dann alles Grossbuchstaben (eine sogenannte Konstante)
- Aussagekräftige Namen wählen (welche die Variable und ihren Inhalt beschreiben)
Aufgabe «Variablennamen»
Welche der folgenden Variablen-Namen sind korrekt? Welche missachten die Konventionen?
c12
007_geheim
geheim_007
geheimAgent
agent geheim
GEHEIM_AGENT
print
asdf_12
# Zuweisung
Mit einer Zuweisung können wir nun einer solchen Variablen einen Wert zuweisen. Dazu schreiben wir den Variablen-Namen links, dann ein Gleichzeichen (der sogenannte Zuweisungsoperator) und den zuzuweisenden Wert rechts. Auf der rechten Seite kann auch ein Ausdruck stehen, der vor der Zuweisung berechnet wird.
x = 7.1
y = x**2
print(y)
text = "Hallo Welt"
print(text)
2
3
4
5
6
Achtung
Zuweisungen finden immer von rechts nach links statt! Links vom Gleichzeichen steht also ein Variablennamen, rechts davon ein Ausdruck. (Es ist keine Mathematische Gleichung!)
Aufgabe
Überlege dir genau was das folgende Programm ausgibt:
x = 2
print(x)
x = 2 * x
print(x)
x = 2 * x
print(x)
2
3
4
5
6
Nachdem du dir überlegt hast, was der Output sein müsste, kannst du dies Nachprüfen.
Zusatzaufgabe
- Programmiere eine kleine Berechnung mit Zahlen oder Text und mindestens einem
print()
- Zeige den Code deinem Nachbarn – er soll sagen was herauskommt
- Führe den Code aus und überprüfe die Ausgabe
# Datentypen
Python kennt verschiedene Arten von Werte. Diese lassen sich nicht immer kombinieren. Z.B. unterscheidet Python zwischen Dezimalbrüchen und ganzen Zahlen. Diese werden intern auch unterschiedlich abgespeichert. Es muss auch zwischen Text und Zahlen unterschieden werden – mit Text lässt sich nur schlecht rechnen.
# Boolsche Werte (bool)
Wahr oder Falsch. Es gibt nur zwei Werte:
a = True
b = False
2
# Ganze Zahlen (int)
Eine Ganze Zahl. Grundsätzlich können in Python sogenannte ints beliebig gross werden. Die Grösse ist begrenzt durch den zur Verfügung stehenden Speicherplatz.
i = 7
j = 9823213497274
k = -124
2
3
# Dezimalzahlen (float)
Ein Dezimalbruch – natürlich nur mit endlicher Genauigkeit. Bei Berechnungen mit floats können kleine Rundungsfehler entstehen!
x = 3.14
y = 642884.12348
z = -12.2
2
3
# Zeichenkette/Text (String)
Eine Folge von Zeichen, also Buchstaben, aber auch Ziffern und Sonderzeichen. Damit Python den String erkennt – und nicht meint es handle sich um eine Anweisung, müssen wir ihn in Anführungszeichen stellen.
english = "hello world!"
deutsch = "Hallo Welt!"
zorgetani = "àéè+*ç%&&/()=?"
2
3
Aufgabe «String»
Stelle dein Hallo-Welt-Programm so um, dass du den auszugebenden Text zuerst in einer Variablen zwischenspeicherst.
# Mit Werten rechnen
Mit Zahlen können wir bekanntlicherweise Berechnungen anstellen. Das Ergebnis ist wieder eine Zahl. Python kann das natürlich auch und kennt die folgenden Operatoren:
Operand | Operation | Erläuterung |
---|---|---|
+ | Addition | Zusammenzählen |
- | Subtraktion | Minusrechnen |
* | Multiplikation | Malrechnen |
/ | Division | Ergebnis ist ein float |
// | ganzzahlige Division | Ergebnis ist ein int |
% | Modulo | Rest der ganzzahligen Division als int |
** | Potenzieren | Hochrechnen |
Wir können also Werte mit den Operatoren kombinieren. Wir sprechen dann von einem Ausdruck. Dieser kann von Python ausgewertet werden. Es entsteht ein neuer Wert.
Mittels runden Klammern können Ausdrücke auch priorisiert werden. Diese werden dann zuerst ausgerechnet. Python kennt aber auch die «Punkt-vor-Strich-Regel».
Aufgabe «Der Python-Taschenrechner»
Starte Thonny und stelle sicher, dass dir die Shell angezeigt wird (unteres Fenster). Schreibe nun die folgenden Zeilen eine nach der anderen direkt dort rein
5**2
12-4
3-4*12
(3-4)*12
3-(4*12)
12/5
12//5
12%5
2
3
4
5
6
7
8
9
10
Diese Ausdrücke werden direkt ausgewertet. Die interaktive Shell zeigt die Ergebnisse auch ohne Zuweisung und print-Befehl direkt an. In einem Programm würden dies Ausdrücke auch berechnet. Aber die berechneten Werte wären sozusagen verloren, da sie weder einer Variablen zugewiesen noch ausgegeben werden.
Aufgabe «Quadratische Gleichung»
Kannst du die folgenden Formeln als Ausdruck in einem Programm darstellen?
als Eingabe dienen Werte für
"""
Autor:
Datum: 27.11.2020
Beschreibung: Löst eine Quadratische Gleichung gegeben durch 3 Zahlen a, b und c
"""
a = 7
b = -12
c = 4
# hier nun berechnen
2
3
4
5
6
7
8
9
10
11
12
Tipp: mache Zwischenschritte und speichere diese Werte. Z.B. sagt man dem Ausdruck unter der Wurzel, also
Lösung «Quadratische Gleichung»
"""
Autor:
Datum: 20.12.2020
Beschreibung: Löst eine Quadratische Gleichung gegeben durch 3 Zahlen a, b und c
"""
from math import sqrt
a = 7
b = -12
c = 4
D = b**2 - 4*a*c
print("Diskriminante:" , D)
x1 = (-b + sqrt(D)) / (2*a)
print("1. Lösung", x1)
x2 = (-b - sqrt(D)) / (2*a)
print("2. Lösung", x2)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Hinweis
Python kennt auch «Berechnungen» mit Strings: So hängt ein +
zwei Strings aneinander – etwas was bei vielen Programmiersprachen möglich ist. Python erlaubt aber auch die «Multiplikation» von Zahlen mit Strings mit *
:
"Hallo" + "Welt"
5 * "Hallo"
2