In diesem Beitrag soll sich alles um Input, also Benutzereingaben drehen. Dazu brauchst du in Python die Input-Funktion. Eine Eingabe des Benutzers kann mithilfe dieser gespeichert und im weiteren Verlauf deines Programms weiter verwendet werden. Aufforderungen, einen Input zu tätigen, begegnen uns in unserem Computeralltag sehr häufig. Wann immer wir uns irgendwo einloggen wollen, müssen wir beispielsweise einen Nutzernamen und Passwort eingeben. Das ist also ein Input unserer Seite. Der Computer kann dann mit diesem Input weiter arbeiten. Und so funktioniert die Input-Funktion in Python:
Input-Funktion in Python aufrufen und verwenden
Um den Benutzer eine Eingabe tätigen zu lassen, brauchen wir dir Input-Funktion. Mit dem Befehl input() wird diese Funktion aufgerufen. Alles, was in der Klammer steht, wird dem Benutzer angezeigt. Das heißt in meinem Beispiel, nachdem ich auf „Run“ drücke wird das, was innerhalb der Klammern der Input-Funktion steht auf der Konsole angezeigt.
Ich habe nun die Möglichkeit, in der Konsole (rechts) etwas einzugeben.
Ich habe meinen Namen eingegeben. Der Cursor erscheint hinter dem eingegebenen Namen. Jetzt drücke ich auf ENTER und beende damit die Eingabe, also meinen Input.
Nachdem ich ENTER gedrückt habe, springt der Cursor eine Zeile weiter im Programm. Damit ist dieser Input abgeschlossen.
Du kannst in die Klammern alles schreiben, was du dem Benutzer gerne sagen möchtest.
‚Wie heißt du?‘, ‚Bitte geben Sie Ihr Alter ein.‘, ‚Passwort:‘, ‚Geben Sie eine Zahl zwischen 1 und 10 ein und bestätigen Sie mit ENTER!‘, …
Das sind alles Beispiele, die du in die Klammer der Input-Funktion schreiben kannst. Dir sind da eigentlich keine Grenzen gesetzt. Du musst nur aufpassen, dass du strings immer schön mit Anführungsstrichen rechts und links abschließt und deine Klammern nicht vergisst.
Der Benutzer weiß durch die Anweisung in der Klammer im besten Fall ganz genau, was er tun soll. An sich kannst du die Klammern auch leer lassen, wenn klar ist, was eingegeben werden soll.
Jetzt weißt du bereits, wie die Input-Funktion in Python funktioniert. Aber das war natürlich noch nicht alles.
Input in Variable speichern
Am sinnvollsten ist es, wenn du die Eingabe in einer Variablen speicherst, damit du danach weiterarbeiten kannst. Wenn ich einen Benutzer nach seinem Alter frage, dann möchte ich im Anschluss wahrscheinlich auch noch mit diesem Alter weiterarbeiten und es speichern.
Hier ein Beispiel, in dem der Benutzer seinen Namen eingeben soll. Die Antwort wird in der Variable name gespeichert. Das erreichst du, in dem du vor die Input-Funktion den Namen deiner Variablen schreibst und ein = dazwischen machst.
Ich habe ein zweizeiliges Programm geschrieben, das den Benutzer nach seinem Namen fragt.
Zuerst klicke ich auf RUN und lasse das Programm starten. Anschließend habe ich einen Namen eingegeben. Drücke ich anschließend auf ENTER, passiert Folgendes.
Ich habe den eingegebenen Namen also anschließend in einer Ausgabe auf der Konsole wieder verwendet, um mit dem Benutzer zu kommunizieren und diese*n direkt anzusprechen.
Übergebener Datentyp bei input ist ein string
Wenn ein Benutzer etwas in der Input-Funktion eingibt, dann wird es als string aufgefasst. Das ist wichtig, zu beachten. Falls du mit der Eingabe weiterarbeiten willst, solltest du vielleicht den Datentyp vorher ändern. Erinnerung: strings sind einfach Zeichenketten, also Wörter und ähnliches. Keine Zahlen, mit denen der Computer rechnen kann.
Das zeige ich dir mal an einem Beispiel:
Ich habe den Benutzer nach seinem Alter gefragt und dieses in der Variablen x gespeichert. Anschließend habe ich eine neue Variable y kreiert, die auf das Alter nochmal 5 addieren soll. Leider erscheint eine Fehlermeldung. Weil x ein string ist, kann Python diese Variable nicht mit der Zahl 5 verknüpfen.
So kannst du das Ganze lösen.
Möglichkeit 1: Input-Type nach der Eingabe ändern.
Ich habe in Zeile 2 int(x) in der Variablen x gespeichert. Ich habe also den Datentyp umgewandelt. Das geht natürlich nur, weil der eingegebene string des Benutzers auch wirklich eine Zahl war. Hätte diese*r in Worten ‚Dreißig‘ eingetippt, dann funktioniert der Trick natürlich nicht.
Möglichkeit 2: input direkt als anderen Datentyp in Variable speichern
Hier habe ich noch einen Schritt abgekürzt und direkt vor die Input-Funktion int( geschrieben. Somit wird die Eingabe direkt als ganze Zahl, also integer, gespeichert. Aufpassen, dass am Ende alle Klammern wieder richtig zu gemacht werden.
Das war nur ein Beispiel, ich hätte die Eingabe auch als Kommazahl float speichern können. Dann hätte ich float( vor das input( schreiben müssen.
Ich hoffe, du hast jetzt einen Einblick gewinnen können, wie die Input-Funktion in Python funktioniert. Schau auch MINT first. andere Artikel über Python an.