Skip to content

Ziele

  • Verschiedene Datentypen unterscheiden und anwenden
  • Einfache Bedingungen mit if-else formulieren
  • Vergleichsoperatoren korrekt verwenden

Datentypen von Variablen

Im letzten Block hast du gelernt wie man mit Variablen umgeht, bedeutet, du kannst Variablen nun initiieren, ihnen einen Wert zuweisen und mit ihnen rechnen. Nach dem Behältermodell scheinen also Variablen immer Zahlen zu halten. In der Realität können von uns definierte Variablen noch Werte ganz unterschiedlicher Art, also andere Werte als Zahlen, halten. Dieses Prinzip kennst du bereits von den Datenbanken. Wirf einen Blick in deinen Hefter, um dich an das Konzept der Datentypen zu erinnern.

Name des DatentypsWas Python erwartetBeispiel in Python
Integer (int)ganze Zahlx = 3, zahl = -5
Float (float)Gleitkommazahlheight = 163.5, speed = 4.52
String (str)Textname = "Thomas", msg = "Hallo Welt"
Boolean (bool)Wahrheitswert (true/false)win = True, verloren = False

Die gute Nachricht: Python kümmert sich um die Verwaltung häufig selbstständig. Wollen wir z.B. mit ganzen und Kommazahlen gleichzeitig rechnen, so ist das überhaupt kein Problem.

python
import turtle
t = turtle.Turtle()

i = 10
f = 3.6
t.write(i - f) 

Versucht man jedoch einfach mit einem String von Buchstaben zu rechnen, so wird das nicht funktionieren.

python
# Dieser Code funktioniert nicht
import turtle
t = turtle.Turtle()

i = 10
msg = "Ich bin ein String"
t.write(i - msg) 

Das liegt daran, dass Python nicht weiß, wie die - Operation bei einer ganzen Zahl und einem Text funktionieren soll. Im Matheunterricht fragt ja auch niemand wie man von der Zahl 10 ein Kuchenrezept subtrahieren kann.

Nun passiert es aber ab und an, dass man sich eine Zahl in Kombination mit einem Text ausgeben lassen möchte. Hierfür lässt sich der Datentyp der ganzen Zahl von Integer zu String "casten". Hier ein Beispiel, wie das Problem gelöst werden kann.

python
import turtle
t = turtle.Turtle()

i = 1
msg = "Ich bin"
t.write(msg + str(i) + " String!") 

Hier eine gute Zusammenfassung des Besprochenen.

Einfache Verzweigungen

Bedingungen kennst du bereits von Karol. Manchmal musste man mit IstWand prüfen, ob Karol vor einer Wand steht und anhand dieser Bedingung entscheiden, ob sie einen Schritt nach vorne machen sollte. Bedingungen sind also entscheidend für den Verlauf deines Programmes und werden besonders interessant, wenn wir sie mit Variablen selbst gestalten können.

python
import turtle
t = turtle.Turtle()

x = 6
if x < 5:
    t.write("x ist kleiner 5!")
else:
    t.write("x ist groesser-gleich 5!")
Erklärung

Tobi prüft zuerst ob die Bedingung x < 5 True ist. Das ist sie nicht, also führt er die Anweisung t.write("x ist kleiner 5!") nicht aus. Da es ein else gibt, führt er die Alternative aus.

Man beachte den häufig vergessenen Doppelpunkt hinter der Bedingung.

Mögliche Vergleichsoperatoren

OperatorNameBeispiel-BedingungWert für x, der True ergibtWert für x, der False ergibt
==Gleichheitx == 553
!=Ungleichheitx != 535
<Kleiner alsx < 545
<=Kleiner oder gleichx <= 556
>Größer alsx > 565
>=Größer oder gleichx >= 554

Warnung

Einen der häufigsten Fehler beim Programmieren ist es, = und == zu vertauschen. = kennen wir als Zuweisungsoperator von den Variablen. Mit x == 5 prüfen wir, ob diese Bedingung stimmt.

Aufgaben

Löse die folgenden Aufgaben selbstständig oder mit einem Partner oder Partnerin.

Aufgabe 1: Altersgruppen

Schreibe ein Programm, das das Alter einer Person per input() erfragt und in einer Variable speichert und je nach Alter eine passende Nachricht ausgibt:

  • Unter 18: "Du bist minderjährig"
  • Ab 18: "Du bist erwachsen"

Aufgabe 2: Passwort-Check

Schreibe ein Programm, das ein gespeichertes Passwort mit einem eingegebenen Passwort vergleicht und "Zugang gewährt" oder "Zugang verweigert" ausgibt.

Aufgabe 3: Temperatur-Umrechner mit Beratung

Erstelle ein Programm, das eine Temperatur in Celsius per input() abfragt und folgende Funktionen bietet:

  1. Umrechnung in Fahrenheit (Formel: F = C * 9/5 + 32)
  2. Ausgabe beider Temperaturen
  3. Zusätzliche Beratung: Bei unter 0°C "Es ist eiskalt!", bei über 30°C "Es ist sehr heiß!"