02 - Skripting
In diesem Abschnitt wollen wir mal versuchen unser bisheriges Wissen in kleine hilfreichen Skript zu bündeln.
Wortlänge
Was bnötigen wir dazu?
- Eingabe des Wortes
- Berechnung der Länge des Wortes
- Ausgabe der Länge des Wortes
Eingabe
Für die Eingabe können wir die Funktion input
verwenden. Diese Funktion gibt den eingegebenen Text als String zurück.
wortlaenge.py | |
---|---|
Berechnung
Zuerst wollen wir versuchen die Länge des Wortes mit den bisherigen Mitteln zu berechnen. Anschließend werden wir uns eine Funktion ansehen, die uns die Arbeit abnimmt.
Wir haben im vorherigen Abschnitt die for
-Schleife kennengelernt. Mit dieser Schleife können wir über alle Elemente einer Liste iterieren. Wir können die Schleife auch verwenden um über alle Zeichen einer Zeichenkette zu iterieren.
wortlaenge.py | |
---|---|
a
l
l
o
Wir haben schon gelernt mit Variablen zu rechnen, dies können wir hier anwenden. Wir legen eine Variable laenge
an und addieren für jedes Zeichen in der Eingabe 1
zur Länge hinzu.
wortlaenge.py | |
---|---|
Nun fehlt uns nur noch die Ausgabe der Länge.
Ausgabe
Die Ausgabe können wir mit der Funktion print
realisieren. Diese Funktion gibt den übergebenen Text auf der Konsole aus.
wortlaenge.py | |
---|---|
Zum testen können wir das Skript ausführen.
Wie geht es einfacher?
Wir haben uns eben die Arbeit gemacht die Länge des Wortes selbst zu berechnen, das übt und ist auch gut um die Sprache zu lernen. Aber Python bietet uns auch eine Funktion an, die uns die Arbeit abnimmt. Diese Funktion heißt len
und gibt die Länge eines Objektes zurück.
wortlaenge.py | |
---|---|
Temperaturumrechnung
Wir wollen nun ein Skript schreiben, welches eine Temperatur in Grad Celsius in Grad Fahrenheit umrechnet.
Eingabe
Wir benötigen wieder eine Eingabe, diesmal eine Zahl. Wir können die Eingabe mit der Funktion input
realisieren. Diese Funktion gibt den eingegebenen Text als String zurück. Wir müssen den String noch in eine Zahl umwandeln. Dies können wir mit der Funktion int
realisieren.
temperatur.py | |
---|---|
Berechnung
Wir müssen nun die eingegebene Temperatur in Grad Fahrenheit umrechnen. Die Formel hierfür lautet: fahrenheit = celsius * 1.8 + 32
. Wir können die Berechnung in einer Variable speichern.
temperatur.py | |
---|---|
Ausgabe
Zum Schluss müssen wir die berechnete Temperatur noch ausgeben. Dies können wir mit der schon bekannten Funktion print
erledigen.
temperatur.py | |
---|---|
Testen
Nun wollen wir das Skript testen. Wir können das Skript mit der Python-Shell ausführen.
Wir können auch mal versuchen eine Kommazahl einzugeben.
File "temperatur.py", line 3, in <module>
celsius = int(eingabe)
ValueError: invalid literal for int() with base 10: '20.5'
Wir bekommen eine Fehlermeldung, da wir versuchen einen String, der eine Kommazahl enthält, in eine Ganzzahl umzuwandeln. Wir können die Eingabe in eine Kommazahl umwandeln. Dies können wir mit der Funktion float
realisieren. Wir merken uns diesen Fehler und machen noch einen weiteren Test.
Nun versuchen wir Buchstaben einzugeben.
File "temperatur.py", line 3, in <module>
celsius = int(eingabe)
ValueError: invalid literal for int() with base 10: 'abc'
Wir bekommen wieder eine Fehlermeldung, da wir versuchen einen String, der keine Zahl enthält, in eine Ganzzahl umzuwandeln. Wir können die Eingabe auf eine Zahl prüfen. Dies können wir mit der Funktion isdigit
realisieren. Diese Funktion gibt True
zurück, wenn der String nur aus Zahlen besteht, ansonsten False
.
Fehlerbehebung
Um die eben gefundenen Fehler zu beheben, müssen wir die Eingabe des Benutzers auf eine Zahl prüfen und die Umwandlung in eine Zahl nur durchführen, wenn es sich um eine Zahl handelt. Auch müssen wir die Umwandlung in eine Kommazahl durchführen und nicht in eine Ganzzahl.
temperatur.py | |
---|---|
Nun können wir das Skript nochmal testen.