Im Gespräch mit deinem Programm
Eingaben sind immer Text
input() liefert deinem Programm immer einen String. Das gilt auch dann, wenn die Person Ziffern eingibt.
Die Übungsumgebung enthält:
answer = input("Type any number: ")
print(answer)
print(type(answer))
Klicke auf Run, gib 42 ein und drücke Enter. Die letzte Zeile meldet:
<class 'str'>
Die Person hat Ziffern eingegeben, aber Python hat die Antwort als Text gespeichert.
Warum Eingaben als Text beginnen
Eine Tastatur sendet Zeichen. Python kann nicht wissen, was diese Zeichen für dein Programm bedeuten.
Betrachte die Antwort 2026. Sie könnte Folgendes darstellen:
eine Jahreszahl, mit der du rechnen möchtest;
einen Teil eines Kontonamens;
einen Türcode, der Text bleiben soll;
eine Zahl in einem Satz.
Python überlässt diese Entscheidung dem Programmierer. input() sammelt die Zeichen als String. Dein Code kann den String umwandeln, wenn er einen Zahlenwert benötigt.
Text, der wie eine Zahl aussieht
Diese Werte sind verschieden:
"42"
42
Der erste ist ein String. Der zweite ist eine ganze Zahl. In der Ausgabe sehen sie vielleicht ähnlich aus, aber sie erlauben unterschiedliche Operationen.
Wenn du versuchst, die ganze Zahl 1 direkt zu dem von input() zurückgegebenen Text zu addieren, meldet Python einen TypeError:
age = input("How old are you? ")
next_age = age + 1
Python rät nicht, ob du Text oder eine Berechnung meinst. Diese Strenge verhindert viele Fehler, die sonst unbemerkt blieben.
Eine Person gibt als Antwort auf input() den Wert 12 ein. Welchen Typ gibt Python zurück?
Führe das Startprogramm mit einigen Antworten aus. Probiere 42, 3.5 und ein Wort. type(answer) meldet jedes Mal str.
Als Nächstes siehst du dir genauer an, wie Funktionsaufrufe funktionieren. Danach wandelst du mit einem Aufruf eingegebenen Text in eine ganze Zahl um.
Aufgabe
Führe das Programm mehrmals aus. Gib eine ganze Zahl, eine Dezimalzahl und ein Wort ein. Beachte, dass input() jedes Mal einen String zurückgibt. Beantworte dann den Wissenscheck und klicke auf Weiter, um fortzufahren.