Die Idee dahinter
Datentypen
Etwa 15 Minuten. Lass dir ruhig länger Zeit.
Danach kannst du
- Text, Zahl und Wahrheitswert unterscheiden
- Verstehen, warum "5" und 5 nicht dasselbe sind
- Wissen, warum C# Typen verlangt und Python nicht
Jeder Wert hat einen Typ. Drei brauchst du am Anfang:
| Typ | Was es ist | Beispiel |
|---|---|---|
| Text | Buchstaben, in Anführungszeichen | "Hallo", "5" |
| Zahl | zum Rechnen, ohne Anführungszeichen | 5, 3.14 |
| Wahrheitswert | nur wahr oder falsch | True, False |
Der Klassiker
print(5 + 5) # 10
print("5" + "5") # 55
Oben stehen zwei Zahlen — Python rechnet. Unten stehen zwei Texte — Python klebt sie aneinander. Dasselbe Pluszeichen, zwei völlig verschiedene Dinge.
Das ist kein Sonderfall, sondern der Grund für die meisten Anfängerfehler. Wenn
irgendwo 1218 steht, wo 30 stehen sollte, weißt du jetzt warum.
Umwandeln
alter_text = "17"
alter_zahl = int(alter_text) # aus Text mach Zahl
print(alter_zahl + 1) # 18
Das brauchst du immer dann, wenn etwas von außen kommt — aus einer Datei, aus einer Eingabe, aus dem Internet. Von dort kommt praktisch alles als Text.
Und warum will C# das vorher wissen?
Python
alter = 17
alter = "siebzehn"
C#
int alter = 17;
alter = "siebzehn";
Python nimmt beides hin — der Typ ergibt sich aus dem Wert, und der darf
wechseln. C# lehnt die zweite Zeile ab, bevor das Programm überhaupt
startet: alter wurde als int angemeldet, da kommt kein Text rein.
Das nervt am Anfang. Es bedeutet aber, dass ein ganzer Haufen Fehler beim Kompilieren auffliegt statt beim Kunden. Deshalb ist C# im Betrieb so beliebt.
Deine Aufgabe
Leg drei Variablen an:
name— dein Name als Textalter— dein Alter als Zahl (keine Anführungszeichen!)lernt_programmieren— der WahrheitswertTrue
Gib dann genau eine Zeile aus, in der alle drei vorkommen. Am bequemsten geht
das mit Kommas: print(name, alter, lernt_programmieren)