Zum Hauptinhalt springen

Eingaben mit input()

Warum brauchen wir das?

Bisher hast du Werte im Code festgeschrieben:

name = "Luna"

Das ist gut zum Üben – aber jedes Mal denselben Namen zu ändern, ist umständlich. Spannender und nützlicher wird es, wenn das Programm fragt:

Wie heißt du?

Dann kann jede Person etwas anderes eingeben – und das Programm reagiert.
Das ist der Schritt von „festen Beispielen“ zu interaktiven Programmen: Quiz, Begrüßung, Rechner, Dialoge, Spiele.

Definition: Eingabe und input

Definition – Eingabe (Input):
Eingabe sind Informationen, die von außen ins Programm kommen
(Tastatur, Datei, Sensor, Mausklick, Netz …).

Definition – input():
input() ist eine Funktion, die optional eine Frage anzeigen und
auf eine Tastatur-Eingabe warten kann.
Sobald du Enter drückst, liefert sie die Antwort als Text (str).

EVA-Erinnerung:

BuchstabeBedeutungBeispiel
EEingabeinput(...)
VVerarbeitungspeichern, rechnen, umwandeln
AAusgabeprint(...)

Ohne E bleibt ein Programm starr. Mit input wird es zum Gesprächspartner.

Luna und der neugierige Py

Py steht am Club-Eingang und will höflich sein.

„Wie heißt du?“

Die Besucherin tippt. Python speichert die Antwort in einer Variable.
Danach kann Py die Antwort wiederholen, begrüßen oder in einem Satz einbauen.

Luna: „Endlich echte Gespräche!“
Lily: „Denk daran: Speichern nicht vergessen.“
Buggy: „Ich rufe input auf und speichere nichts – dann ist die Antwort weg. Perfekt unhöflich.“

Neue Wörter

Eingabeinput

Daten, die ins Programm kommen – z. B. von der Tastatur.

input()input()

Liest eine Zeile von der Tastatur und gibt sie als str zurueck.

Benutzer / Useruser

Die Person, die das Programm bedient.

Promptprompt

Die Frage oder der Hinweistext, den input anzeigen kann.

Erstes Beispiel – speichern ist Pflicht

name = input("Wie heißt du? ")
print(name)

Ablauf Schritt für Schritt

  1. Python zeigt: Wie heißt du?
  2. Du tippst z. B. Lily und drückst Enter.
  3. Die Antwort landet in der Variable name.
  4. print(name) zeigt Lily.

Warum das Leerzeichen in der Frage?

input("Wie heißt du? ")

Das Leerzeichen am Ende der Zeichenkette sorgt dafür, dass die Eingabe nicht direkt am Fragezeichen klebt. Kleine Höflichkeit, große Lesbarkeit.

Wichtig: input liefert immer Text

antwort = input("Zahl? ")
print(type(antwort))

Auch wenn du 12 tippst: Der Typ ist str, also "12".

Python speichert Tastatureingaben zuerst als Zeichenfolge. Es rät nicht: „Das sieht aus wie eine Zahl, also rechne ich.“

Deshalb knallt später oft:

alter = input("Alter: ")
print(alter + 1) # TypeError

Lösung kommt bald: int(input(...)).
Heute merken: Eingabe = Text, bis du bewusst umwandelst.

Fehler: Antwort nicht speichern

input("Wie heißt du? ")
print(name) # NameError, wenn name nie gesetzt wurde

input liefert einen Wert. Wenn du ihn nicht in einer Variable ablegst, ist er sofort wieder weg – wie eine Antwort, die niemand aufschreibt.

Richtig:

name = input("Wie heißt du? ")
print(name)

Was passiert im Computer? (Mentales Modell)

  1. input schreibt die Frage (falls vorhanden) auf den Bildschirm.
  2. Das Programm wartet – die nächste Zeile läuft noch nicht.
  3. Du tippst Zeichen; Enter beendet die Zeile.
  4. Python erzeugt aus der Zeile einen String.
  5. Bei name = input(...) speichert die Variable diesen String.
  6. Das Programm läuft mit der nächsten Zeile weiter.

Solange niemand Enter drückt, steht die Zeit im Programm still. Das ist normal.

Häufige Irrtümer

IrrtumRichtig
input speichert automatisch in nameNur wenn du name = input(...) schreibst
Getippte 12 ist intNein – zuerst immer str "12"
Ohne Fragezeichen-Text geht input nichtinput() ohne Text geht auch
print(input(...)) speichert die AntwortEs zeigt sie nur – speichern braucht =
Mehrere Wörter in einer Eingabe sind verbotenErlaubt – alles bis Enter ist ein String

Probiere es selbst

Experiment 1 – Begrüßung

name = input("Wie heißt du? ")
print("Hallo", name)

Experiment 2 – Lieblingstier

Frage nach dem Lieblingstier, speichere in tier, gib aus.

Experiment 3 – Zwei Fragen

name = input("Name: ")
klasse = input("Klasse: ")
print(name)
print(klasse)

Experiment 4 – type-Detektiv

antwort = input("Tippe eine Zahl: ")
print(antwort)
print(type(antwort))

Was siehst du, wenn du 7 tippst?

Fehlerdetektiv

input("Wie heißt du? ")
print(name)
Lösung anzeigen

Die Antwort wurde nicht gespeichert. Richtig:

name = input("Wie heißt du? ")
print(name)

Übungen

Level 1 – Entdecken

Frage Lieblingsfarbe? – speichern und ausgeben.

Lösung
farbe = input("Lieblingsfarbe? ")
print(farbe)

Level 2 – Anwenden

Name und Hobby erfragen, beide untereinander ausgeben.

Lösung
name = input("Name: ")
hobby = input("Hobby: ")
print(name)
print(hobby)

Level 3 – Erweitern

Drei Fragen, dann Titel === Steckbrief === und die drei Antworten.

Beispiel
name = input("Name: ")
tier = input("Lieblingstier: ")
fach = input("Lieblingsfach: ")
print("=== Steckbrief ===")
print(name)
print(tier)
print(fach)

Mini-Challenge

Türsteher-Dialog: Name fragen, dann Willkommen, ... ausgeben.
Erkläre in einem Satz: Warum ist das Ergebnis von input immer str?

Zusammenfassung

  • input liest eine Zeile von der Tastatur.
  • Speichern mit Variable: x = input(...).
  • Ergebnis ist immer str – auch bei Ziffern.
  • Ohne Variable ist die Antwort schnell weg.
  • Interaktive Programme fühlen sich lebendig an.
  • EVA: input ist der E-Teil.

Mini-Quiz

Mini-QuizWas liefert input() zurueck?
  1. Warum speichert man die Eingabe in einer Variable?
  2. Was passiert, wenn du Enter drückst?
  3. Ist input eher E, V oder A im EVA-Prinzip?
Lösungen
  1. Zum späteren Benutzen (print, rechnen, Sätze bauen).
  2. Die Zeile wird übernommen, das Programm läuft weiter.
  3. Eingabe (E).

Interaktiv! Als Nächstes: Antworten in ganzen Sätzen benutzen.