Lesen der Tastatureingabe

Abgeschlossen

Viele Programme sind interaktiv. Die Unterstützung der Interaktivität bedeutet, dass Sie über ein Programm verfügen, das je nach Eingabe unterschiedlich ausgeführt wird. Die Eingabe von Daten in einem Programm wird in der Regel von einem Benutzer vorgenommen, kann aber auch von einem anderen Programm ausgeführt werden. Es gibt viele Möglichkeiten, Eingaben an ein Programm zu senden. Zwei gängige Möglichkeiten sind grafische Benutzeroberflächen oder Konsolen.

Benutzereingabe

Zum Lesen von Eingaben über die Tastatur bietet Python die input()-Funktion. input() liest die Tastatureingabe des Benutzers und gibt sie als Zeichenfolge zurück. Im folgenden Beispiel werden input() und print() kombiniert, um den Namen einer Person zu erfassen und auf dem Bildschirm anzuzeigen:

name = input('Enter your name:')
print(name)

Die als Argument an die input-Funktion übergebene Zeichenfolge ist die Eingabeaufforderung, die für den Benutzer angezeigt wird. In diesem Beispiel wird der Benutzer aufgefordert, einen Namen einzugeben („Enter your Name“). Sobald der Benutzer einen Namen eingibt und die EINGABETASTE drückt, wird die input-Funktion beendet. Der Rückgabewert der Funktion ist der vom Benutzer eingegebene Text, und dieser wird einer Variablen mit dem Namen name zugewiesen. Die name-Variable dient dann als Eingabe oder Argument für die print-Funktion, die den vom Benutzer eingegebenen Namen ausgibt.

Sie können die input-Funktion auch ohne Parameter aufrufen:

print('What is your name?')
name = input()
print(name)

Dieses Programm verhält sich fast genauso wie das erste. Der Unterschied besteht darin, dass print (standardmäßig) der Ausgabe einen Zeilenumbruch hinzufügt.

Lesen von Zahlen als Eingabe

Die input-Funktion gibt den eingegebenen Wert immer als Zeichenfolge (Text) zurück. Dies ist sinnvoll, da der Benutzer einen beliebigen Wert eingeben kann. Auch wenn die Eingabe eine gültige Zahl ist, wird sie von der input-Funktion als Zeichenfolgentyp zurückgegeben. Beispiel:

x = input('Enter a number: ')
print(type(x))

Durch Ausführen dieses Codes und Eingabe des Werts 5 wird <class 'str'> angezeigt, obwohl der Wert selbst numerisch ist. Um den Wert in eine echte integer-Variable umzuwandeln, können Sie die int()-Funktion verwenden:

x = int(input('Enter a number: '))
print(type(x))

Dieser Code gibt <class 'int'> für den Wert 5 aus. Sie können die float-Funktion auf die gleiche Weise verwenden, wenn Sie eine Komponente mit Kommastellen erwarten.

Wichtig

Was geschieht, wenn die Eingabe nicht numerisch ist und Sie sie an die int()-Funktion übergeben? Erwartungsgemäß stellt dies einen Fehler dar und verursacht einen Laufzeitfehler. Die Programmausführung wird an dieser Anweisung beendet – Sie können es in der interaktiven Python-Konsole selbst ausprobieren. In zukünftigen Module werden verschiedene Lösungen für diese Arten von Fehlern erläutert.

Konvertieren von Zahlen in Zeichenfolgen

Sie können die Richtung der Konvertierung umkehren. Die Methode str() akzeptiert einen Integer oder float-Wert und wandelt diesen in eine Zeichenfolge um. Das Aufrufen der str()-Methode ist erforderlich, wenn das folgende Codebeispiel funktionieren soll. Die Konvertierung stellt sicher, dass der Integer im Zeichenfolgenformat mit der Zeichenfolge auf der linken Seite verkettet wird.

x = 5
print('The number is ' + str(x))