🐍 Dein Python-Werkzeugkasten
Du hast schon gesehen, wie der Alvik blinkt und sich bewegt! 🎉
Aber wie funktioniert der Code eigentlich? Hier lernst du die wichtigsten Python-Grundlagen, die du für alle Alvik-Projekte brauchst!
📦 1. Variablen – Dein Roboter merkt sich Dinge
Eine Variable ist wie eine beschriftete Schublade, in der du Werte speichern kannst.
Beispiel mit Alvik:
speed = 50 # Geschwindigkeit in cm/s
distance = 20 # Strecke in cm
robot_name = "Alvik" # Text (String)
is_moving = True # Wahrheitswert (Boolean)
print(f"{robot_name} fährt mit {speed} cm/s")
# Ausgabe: Alvik fährt mit 50 cm/s
=bedeutet "zuweisen" (nicht "ist gleich"!)- Variablennamen dürfen keine Leerzeichen haben
- Groß-/Kleinschreibung ist wichtig:
Speed≠speed
🖨️ 2. print() – Sehen was passiert
Mit print() gibst du Text oder Werte in der Konsole aus – super wichtig zum Debuggen!
Drei Arten von print():
# 1. Einfacher Text
print("Alvik startet!")
# 2. Variablen ausgeben
speed = 30
print(speed) # Ausgabe: 30
# 3. Formatierte Strings (f-strings) - am besten!
print(f"Geschwindigkeit: {speed} cm/s")
print(f"Doppelt so schnell: {speed * 2} cm/s")
🤔 3. if/elif/else – Der Roboter trifft Entscheidungen
Mit Bedingungen kann dein Roboter reagieren: "Wenn Hindernis, dann stoppen!"
Vergleichsoperatoren:
== |
gleich | speed == 50 |
!= |
ungleich | speed != 0 |
< |
kleiner als | distance < 10 |
> |
größer als | speed > 20 |
<= |
kleiner gleich | distance <= 15 |
Beispiel mit Alvik:
distance = alvik.get_distance()[2] # Mittlerer Sensor
if distance < 10:
print("STOP! Hindernis zu nah!")
alvik.stop()
elif distance < 30:
print("Vorsicht! Langsam fahren")
alvik.set_wheels_speed(20, 20)
else:
print("Freie Fahrt!")
alvik.set_wheels_speed(50, 50)
Python erkennt Code-Blöcke an der Einrückung (4 Leerzeichen oder Tab).
Alles was eingerückt ist, gehört zur if/elif/else-Bedingung!
🔁 4. for-Schleifen – Wiederholungen
Statt Code 100x zu kopieren, schreibst du ihn einmal und lässt ihn wiederholen!
Beispiele:
# 1. Exakte Anzahl (z.B. Viereck = 4 Seiten)
for i in range(4):
alvik.move(20) # Vorwärts
alvik.rotate(90) # Drehen
# 2. Mit Start- und Endwert
for speed in range(10, 51, 10): # 10, 20, 30, 40, 50
print(f"Geschwindigkeit: {speed}")
alvik.set_wheels_speed(speed, speed)
time.sleep(1)
# 3. Über Listen iterieren
colors = ['RED', 'GREEN', 'BLUE']
for color in colors:
print(f"Farbe: {color}")
♾️ 5. while-Schleifen – Solange wie...
Eine while-Schleife läuft, solange eine Bedingung wahr ist.
Beispiele:
# 1. Endlosschleife (läuft für immer)
while True:
color = alvik.get_color_label()
print(f"Ich sehe: {color}")
time.sleep(0.5)
# 2. Mit Bedingung
distance = 100
while distance > 10:
distance = alvik.get_distance()[2]
alvik.move(5)
print(f"Noch {distance} cm bis zum Ziel")
alvik.stop()
print("Angekommen!")
Endlosschleifen laufen ewig. Stoppe sie mit:
•
Ctrl+C (im Terminal)• STOP-Button in Thonny
🛠️ 6. Funktionen – Eigene Befehle erstellen
Eine Funktion ist wie ein eigener Befehl, den du dir zusammenbaust und immer wieder nutzen kannst!
Beispiel:
# Funktion definieren
def viereck_fahren():
"""Lässt den Alvik ein Viereck fahren"""
for i in range(4):
alvik.move(20)
alvik.rotate(90)
# Funktion mit Parametern
def fahre_strecke(distanz, geschwindigkeit):
"""Fährt eine bestimmte Strecke mit gewünschter Geschwindigkeit"""
alvik.set_wheels_speed(geschwindigkeit, geschwindigkeit)
alvik.move(distanz)
alvik.stop()
# Funktionen aufrufen
viereck_fahren() # Einfach
fahre_strecke(30, 40) # Mit Werten
fahre_strecke(distanz=50, geschwindigkeit=60) # Mit Namen
- Code wird übersichtlicher
- Gleicher Code muss nicht wiederholt werden
- Änderungen nur an einer Stelle
📝 7. Listen – Mehrere Dinge speichern
Eine Liste ist wie eine Einkaufsliste – du kannst mehrere Werte in einer Variable speichern!
Beispiele:
# Liste erstellen
speeds = [10, 20, 30, 40, 50]
colors = ['RED', 'GREEN', 'BLUE', 'YELLOW']
pattern_memory = [] # Leere Liste
# Auf Elemente zugreifen (Index startet bei 0!)
print(colors[0]) # RED (erstes Element)
print(colors[2]) # BLUE (drittes Element)
print(colors[-1]) # YELLOW (letztes Element)
# Elemente hinzufügen
pattern_memory.append('RED')
pattern_memory.append('BLUE')
print(pattern_memory) # ['RED', 'BLUE']
# Länge einer Liste
print(len(colors)) # 4
# Über Liste iterieren
for color in colors:
print(f"Farbe: {color}")
📚 8. import – Fremde Befehle nutzen
Mit import holst du dir fertige Funktionen von anderen Programmierern!
Beispiele:
# Ganze Bibliothek importieren
import time
time.sleep(2) # 2 Sekunden warten
# Nur bestimmte Teile importieren
from time import sleep
sleep(1) # Jetzt einfach sleep() ohne time.
# Alles von einer Bibliothek
from arduino_alvik import ArduinoAlvik
alvik = ArduinoAlvik()
# Mit Alias (Abkürzung)
from arduino_alvik import ArduinoAlvik as Roboter
alvik = Roboter()
💬 9. Kommentare – Notizen im Code
Kommentare erklären deinen Code – für dich selbst und andere!
# Das ist ein einzeiliger Kommentar
speed = 50 # Kommentar nach Code
"""
Das ist ein mehrzeiliger Kommentar.
Perfekt für längere Erklärungen!
Oder für Funktions-Dokumentation.
"""
def meine_funktion():
"""Das ist eine Docstring - erklärt was die Funktion macht"""
pass
🎓 Du hast jetzt die wichtigsten Python-Grundlagen!
Mit diesen Werkzeugen kannst du alle Alvik-Projekte verstehen und eigene Programme schreiben!
Keine Angst, wenn noch nicht alles klar ist – du lernst am besten durch Ausprobieren und Fehler machen! 💪
Challenge: Python-Grundlagen
Teste dein Wissen über Python!
📝 Quiz
Was macht dieser Code?
for i in range(3):
print(i)
📝 Quiz 2: Variablen
Welche Variable ist korrekt benannt?
📝 Quiz 3: Bedingungen
Was bedeutet !=?
📝 Quiz 4: Listen
Welcher Index gibt das erste Element einer Liste zurück?
colors = ['RED', 'GREEN', 'BLUE']
📝 Quiz 5: while-Schleifen
Was macht eine while True Schleife?
📝 Quiz 6: Funktionen
Mit welchem Schlüsselwort definiert man eine Funktion in Python?
📝 Quiz 7: print() und f-strings
Was gibt dieser Code aus?
speed = 30
print(f"Geschwindigkeit: {speed * 2}")
💻 Code-Challenge
Aufgabe: Schreibe eine Funktion fahre_kreis(), die den Alvik 8 kleine Schritte vorwärts und dann immer 45° drehen lässt (= ein Kreis).
range(8)
✅ Selbsttest
Hake ab, was du verstanden hast: