Robotics

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)

Dank Variablen kann ein Programm flexibler geschrieben werden. Ändert zum Beispiel das Wetter, muss das nur bei der Variablen-Zuweisung geändert werden: <cli> sonnig = False </cli>

💡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
> a > b grösser als
< a < b kleiner als
== a == b gleich
!= a != b ungleich
>= a >= b grösser oder gleich
⇐ a ⇐ b kleiner oder gleich

💡 Noch mehr logische Operatoren (and, or, not)

Operator Ausdruck
and a and b
or a or b
not not a
a b ➡️ a or b
True True True
True False True
False True True
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

🔗 informatik.lerbermatt.ch > (anmelden) > Programmieren 1

Previous Next

Robotics

Table of Contents

Inhaltsverzeichnis

  • Python-Quickstart
    • Kommentare
    • Variablen
    • Bedingungen
    • while Schleife
    • for Schleife
    • Mehr

Basics

  • Einrichten
  • Programm erstellen
  • Programm ausführen
  • Bestehendes Programm öffnen

Projekt 1 - Robo-Loop

  • Beep
  • Touch/Beep 1
  • Touch/Beep 2
  • Touch/Beep 3
  • Schnelle Schleife
  • Gebremste Schleife

Projekt 2 - Motor ansteuern

  • Motor starten
  • Motor stoppen
  • Start und Stopp

Sensoren

  • Tasten
  • Distanzsensor
  • Farbsensor
  • Lagesensor

Aktoren

  • Beep
  • Motoren

LEGO-Bauanleitungen

  • Anheben
  • Bewegung übertragen
  • Greifen
  • Schalter

Ein paar Tipps und Tricks

  • FAQ