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:
| Buchstabe | Bedeutung | Beispiel |
|---|---|---|
| E | Eingabe | input(...) |
| V | Verarbeitung | speichern, rechnen, umwandeln |
| A | Ausgabe | print(...) |
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
Daten, die ins Programm kommen – z. B. von der Tastatur.
Liest eine Zeile von der Tastatur und gibt sie als str zurueck.
Die Person, die das Programm bedient.
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
- Python zeigt:
Wie heißt du? - Du tippst z. B.
Lilyund drückst Enter. - Die Antwort landet in der Variable
name. print(name)zeigtLily.
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)
inputschreibt die Frage (falls vorhanden) auf den Bildschirm.- Das Programm wartet – die nächste Zeile läuft noch nicht.
- Du tippst Zeichen; Enter beendet die Zeile.
- Python erzeugt aus der Zeile einen String.
- Bei
name = input(...)speichert die Variable diesen String. - 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
| Irrtum | Richtig |
|---|---|
input speichert automatisch in name | Nur wenn du name = input(...) schreibst |
Getippte 12 ist int | Nein – zuerst immer str "12" |
| Ohne Fragezeichen-Text geht input nicht | input() ohne Text geht auch |
print(input(...)) speichert die Antwort | Es zeigt sie nur – speichern braucht = |
| Mehrere Wörter in einer Eingabe sind verboten | Erlaubt – 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
inputliest 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:
inputist der E-Teil.
Mini-Quiz
- Warum speichert man die Eingabe in einer Variable?
- Was passiert, wenn du Enter drückst?
- Ist
inputeher E, V oder A im EVA-Prinzip?
Lösungen
- Zum späteren Benutzen (print, rechnen, Sätze bauen).
- Die Zeile wird übernommen, das Programm läuft weiter.
- Eingabe (E).
Interaktiv! Als Nächstes: Antworten in ganzen Sätzen benutzen.