7.1Nutzer*innen-Eingabe
Bisher haben wir die Eingabe von Werten über die Definition von Variablen im Code umgesetzt. Das geht jedoch nur, wenn die “Nutzeroberfläche” der Code selbst ist.
Häufig wollen Sie jedoch auch bei Skripten interaktiv Werte oder Konfigurationsentscheidungen bei der Nutzer*in abfragen ohne, dass die Nutzer*in (oder auch Sie) dafür den Code verändern sollen.
Python bietet dafür die Funktion input()
, welche es ermöglicht einen Prompt
auszugeben und dann die Eingabe der Nutzer*in als Ergebnis zu erhalten.
Aus dem früheren Beispiel (siehe Python-Dateien)
from ausleihe_funktion import ausleihe_überprüfen
neuer_kontostand = ausleihe_überprüfen(8, 1)
print(neuer_kontostand)
Ausleihe erfolgreich.
9
wird dann bspw.
from ausleihe_funktion import ausleihe_überprüfen
aktuell_auszuleihen = input("Wie viele Medien wollen Sie aktuell ausleihen? ") # 1
# `input()` hat immer eine Zeichenkette (`str()`) als Ergebnis. # 2
aktuell_auszuleihen = int(aktuell_auszuleihen) # 2
neuer_kontostand = ausleihe_überprüfen(8, aktuell_auszuleihen) # 3
print(neuer_kontostand)
Wie viele Medien wollen Sie aktuell ausleihen? 1
Ausleihe erfolgreich.
9
In diesem Beispiel wird:
- zuerst ein Prompt für die Nutzer*in des Skripts ausgegeben und deren
Eingabe in der Variablen
aktuell_auszuleihen
gespeichert, - dann der Wert der Variablen ist eine Zeichenkette, weshalb diese mithilfe
der Funktion
int()
vor der weiteren Nutzung in eine Ganzzahl umgewandelt werden muss und abschließend - der Wert in der Variablen im Funktionsaufruf anstelle der Zahl
1
übergeben.
Bisher ändert sich nichts an der Ausgabe des Codes. Das liegt jedoch nur daran,
dass die Beispiel-Nutzer*in hier ebenfalls 1
eingegeben hat.
Werden andere Werte eingegeben, so führt dies zu anderen Ergebnissen.
current = int(input("Wie viele Medien? "))
print(ausleihe_überprüfen(8, current))
print()
current = int(input("Wie viele Medien? "))
print(ausleihe_überprüfen(8, current))
Wie viele Medien? 3
Ihr neuer Kontostand: 11 Bücher.
11
Wie viele Medien? 10
Sie haben bereits 8 Bücher ausgeliehen.
Wenn Sie 10 Bücher ausleihen würden, kämen Sie über die Grenze von
15 Büchern.
Sie können aktuell maximal 7 weitere Bücher ausleihen.
8