====== Python-Quickstart ====== ===== Kommentare ===== print("hello") # druckt "hello" auf der Konsole aus """ so können auch zeilenübergreifende Kommentare geschrieben werden. Tastaturkürzel dazu: ctrl-⬆️-A (🪟) resp. command-⬆️-A (🍏)""" ===== Variablen ===== Mit Hilfe von Variablen können verschiedene Dinge, z.B. Zahlen oder Zeichenketten gespeichert werden. Das ist ein bisschen so, wie wenn die Zahl oder die Zeichenkette in eine angeschriebene Schachtel verpackt würde 📦. Die Zuweisung funktioniert mit dem Zuweisungsoperator =: jahr = 2022 # Ganzzahl tag = "Montag" # Zeichenkette sonnig = True # Wahrheitswert (`True` oder `False`) Die gespeicherten Werte von Variablen können verwendet werden, in dem einfach die Variablen-Namen aufgerufen werden. Die angeschriebenen Schachteln werden quasi geöffnet): print(jahr) print(tag) print(sonnig) Dank Variablen kann ein Programm überschtlicher geschrieben werden, vor allem, wenn eine Variable mehrmals verwendet wird. Die folgende Zeile aus dem StairClimber zeigt das recht schön: front_motor = Motor(Port.B, Direction.COUNTERCLOCKWISE) ^ statt mit Motor(Port.B, Direction.COUNTERCLOCKWISE) kann der Motor nun einfach mit front_motor angesprochen werden. Dank Variablen kann ein Programm flexibler geschrieben werden. Ändert zum Beispiel das Wetter, muss das nur bei der Variablen-Zuweisung geändert werden: sonnig = False ++++ 💡Reservierte Keywords | Die folgenden Wörter sind reservierte «Keywords», und können nicht als Variablennamen verwendet werden: False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield ++++ ===== Bedingungen ===== Ein Teilprogramm wird nur ausgeführt, wenn eine Bedingung erfüllt ist: if heute == "Montag": print("Heute ist Montag") Mit ''if'' ... ''else'' kann zudem angegeben werden, was andernfalls passieren soll: if sonnig: print("Es ist sonnig.") else: print("Es ist nicht sonnig.") Mit ''if'' ... ''elif'' ... ''else'' können noch mehr Fälle unterschieden werden: x = 9001 if x < 9000: print("x ist kleiner als 9000.") elif x == 9000: print("x ist genau 9000.") else: print("x ist grösser als 9000.") ++++ 💡 Logische Operatoren (>, <, ==, !=, >=, <=) | | Operator | Ausdruck | Beschreibung | Liefert True, wenn... | > | ''a > b'' | grösser als | a grösser ist als b. | < | ''a < b'' | kleiner als | a kleiner ist als b. | == | ''a == b'' | gleich | a und b denselben Wert haben. | != | ''a != b'' | ungleich | a und b ungleiche Werte haben. | >= | ''a >= b'' | grösser oder gleich | a grösser oder gleich b ist. | <= | ''a <= b'' |kleiner oder gleich | a kleiner oder gleich b ist. ++++ ++++ 💡 Noch mehr logische Operatoren (and, or, not) | | Operator |Ausdruck | Liefert True, wenn... | and | ''a and b'' | sowohl a als auch b wahr sind. | or | ''a or b'' | mindestens a oder b wahr sind. | not | ''not a'' | a falsch ist | a | b | ➡️ | a or b | a and b | True | True | | True | True | True | False | | True | False | False | True | | True | False | false | False | | False | False ++++ ===== while Schleife ===== Das Teilprogramm innerhalb einer ''while'' Schleife (der «Körper») läuft so lange, wie der Test im «Kopf» der Schleife wahr ist (''True''): x = 0 while x < 9000: # Kopf der Schleife print(x) # Ab hier: Körper der Schleife x = x + 1 # Der Wert von `x` wird bei jedem Schleifendurchgang um 1 erhöht Für die Robotik besonders spannend sind Endlosschleifen. Ist die Bedingung im Schleifenkopf immer wahr, läuft die Schleife «ewig» (bis der Roboter abgestellt oder das Programm abgebrochen wird): while True: # Kopf der Schleife echo = input("Gib eine Nachricht ein: ") # Ab hier: Körper der Schleife print(echo) ===== for Schleife ===== Die folgende ''for'' Schleife bewirkt dasselbe wie die ''while'' Schleife weiter oben. Oft ist die entsprechende ''for'' Schleife kürzer zum schreiben; ''while'' Schleifen sind allerdings flexibler. 💡 Statt ''x'' könnte ein beliebiger Variablenname stehen. for x in range(9000): # Kopf der Schleife print(x) # Körper der Schleife ++++ 💡 range(start, stop, step) | * statt nur einem Parameter können bei range() auch mehrere stehen: * start (dem Start-Wert; optional; Standard ist 0) * stop (dem Stop-Wwert (nicht enthalten); nicht optional) * step (der Schrittgrösse; optional; Standard ist 1 ) ++++ ===== Mehr ===== 🔗 [[https://informatik.lerbermatt.ch/|informatik.lerbermatt.ch]] > (anmelden) > Programmieren 1