⌨️ Eingabe – input() und Typumwandlung

Viele Programme sollen nicht nur Ausgaben erzeugen, sondern auch Eingaben von Benutzer:innen verarbeiten. In Python erfolgt die Eingabe über die Tastatur mit der Funktion input().

⌨️ Einfache Eingabe mit input()

Mit input() wird eine Eingabe abgefragt und in einer Variablen gespeichert:

name = input("Wie heißen Sie?\n")
  • Der Text in den Anführungszeichen wird als Aufforderung ausgegeben
  • Das Programm wartet auf eine Eingabe
  • Die Eingabe wird mit der Enter-Taste abgeschlossen
  • Der eingegebene Wert wird in der Variablen name gespeichert

📌 Wichtige Eigenschaft von input()

Die Funktion input() liefert immer eine Zeichenkette (str) zurück – unabhängig davon, was eingegeben wurde.

Beispiel:

alter = input("Wie alt sind Sie?\n")
print(type(alter))

Auch wenn eine Zahl eingegeben wird, ist der Datentyp str.

⚠️ Typische Fehlvorstellungen (Misconceptions)

❌ „Wenn ich eine Zahl eingebe, ist es automatisch eine Zahl“

menge = input("Wie viele Stück?\n")
gesamt = menge + 5

Dieses Programm führt zu einem Fehler.

👉 Grund: menge ist eine Zeichenkette und kann nicht direkt mit einer Zahl verrechnet werden.

🔁 Eingaben explizit umwandeln

Soll eine Eingabe als Zahl weiterverarbeitet werden, muss sie explizit umgewandelt werden.

Ganzzahl einlesen

menge = int(input("Wie viele Stück?\n"))

Gleitkommazahl einlesen

preis = float(input("Was kostet ein Stück?\n"))

Jetzt besitzen die Variablen den gewünschten Datentyp.

⚠️ Fehler bei ungültiger Eingabe

Nicht jede Eingabe kann sinnvoll umgewandelt werden:

zahl = int(input("Geben Sie eine Zahl ein:\n"))

Wird ein Text eingegeben, entsteht ein Fehler, da der Text nicht in eine Zahl umgewandelt werden kann.

💡 Merke

  • input() liefert immer eine Zeichenkette
  • Zahlen müssen explizit umgewandelt werden (int(), float())
  • Der Datentyp entscheidet, ob mit einer Eingabe gerechnet werden kann
  • Ungültige Umwandlungen führen zu Fehlern