# %% [markdown] # # Kontrollstrukturen und Vergleichsoperatoren # %% [markdown] # ## Verzweigung (Branching) # %% # if / else / elif alter = -1 if alter >= 16: print("Nicht vergessen: am 9.6.2024 ist Europa-Wahl!") elif alter > 0: print("Schön, dass du geboren bist!") else: print("Hmm, ob das so stimmt?") # %% richtung = "s" if richtung == "n": print("Auf in den hohen Norden!") elif richtung == "s": print("Nach Süden, nach Süden!") elif richtung == "w": print("Go west!") elif richtung == "o": print("Bin schon da.") # %% # match # richtung = input("Wo soll's denn lang gehen? ") richtung = "n" match richtung: case "n" | "norden": print("Auf in den hohen Norden!") case "s" | "süden": print("Nach Süden, nach Süden!") case "w" | "westen": print("Go west!") case "o" | "osten": print("Bin schon da.") case _: print("Das Glück liegt manchmal abseits des direkten Wegs!") # %% [markdown] # ## Schleifen # %% # for for i in range(5): print("Schleifendurchlauf Nr. ", i) # %% result = 0 for i in range(1, 11): result += i print("Summe der Zahlen 1-10:", result) # %% for i in (2, 4, 6, 8, 9, 10): if i % 2: print(i, "passt nicht in die Reihe") # %% # while i = 10 while i > 0: # or: while True: print(i, "... ", end="") i -= 1 print("Lift off!") # %% # continue for i in range(10, 20): if i == 13: continue print(i) # %% # break i = 0 result = 0 maximum = 10_000 while True: result += i if result >= maximum: print("Iteration: ", i+1) break i += 1 # %% alphabet = "abcdefghifklmnopqrstuvwxyz" buchstabe = "q" i = 0 for char in alphabet: i += 1 if char == buchstabe: print(buchstabe, "ist Buchstabe Nr.", i, "des dt. Alphabets.") break # %% # einfacher: for i, char in enumerate(alphabet): if char == buchstabe: print(buchstabe, "ist Buchstabe Nr.", i + 1, "des dt. Alphabets.") break # %% [markdown] # # Funktionen # %% # Aufruf eingebauter Funktionen x = pow(2, 8) y = max(x, 100) z = min(max(0, x), 100) print(x, y, z) # %% # optionale Parameter print() print("") # %% # eigene Funktionen def add(a, b): return a + b print(add(2, 3)) # %% # Keyword arguments print(add(a=5, b=10)) print(add(4, b=20)) # %% # Das geht nicht: print(add(a=6, 10)) # %% [markdown] # # Vergleichsausdrücke # %% a = 10 b = 50 c = 2 d = 5 * a print(a == b) print(a != d) print(a > b) print(a > c) print(a >= c) print(c > a) print(c < b) print(c >= 2) # %% # Negation print(not c > a) print(not a == b) # klarer: a != b print(not b != d) # klarer: b == d print(not a > c) # %% # logische Kombination print(b > a and a > c) print(a > b or a > c) print(not a < c and b >= d) # %% # Bool'scher (True/False) Wert von Integers, Floats und Strings print(a > c) print(bool(a > c)) ## redundant, da Vergleichsausdrücke immer einen bool'schen Wert haben # Aber: print(bool(a)) print(not a) # auch ein bool'scher Ausdruck # %% print(bool(0)) print(bool(1)) print(bool(-1)) print(bool(0.0)) print(bool(0.1)) print(bool(-0.1)) print(bool("True")) print(bool("False")) # !!! print(bool("")) print(bool("\0"))