Aufgaben ND – Funktionen für Fortgeschrittene

ND1 – Weitere Nächte im Hotel

Schreibe eine neue Funktion hotel_preise2(personen, naechte, anreisetag), die den Gesamtpreis für einen Hotelaufenthalt berechnet und zurückgibt: Preise pro Nacht:

Tarif (Anreisetag) Einzelzimmer Doppelzimmer
Sonntag bis Donnerstag 120 140
Freitag und Samstag 150 200

Hinweise:

Teste deine Funktion mit folgendem Code:

# Reise 1: 2 Personen, 2 Nächte ab Freitag: Preis = 400
print(hotel_preise2(2, 2, "Freitag"))
# Reise 2: 3 Personen, 4 Nächte ab Mittwoch: Preis = 1220 
print(hotel_preise2(3, 4, "Mittwoch"))
# Reise 3: 1 Person, 10 Nächte ab Donnerstag: Preis = 1320
print(hotel_preise2(1, 10, "Donnerstag"))

ND2 – RGB-Palette

  1. Schreibe eine Funktion rgb_dot(red, green, blue), die einen Punkt in der gewünschten Farbe zeigt.
    • Die drei Argumente können jeweils einen Wert zwischen 0 und 5 einnehmen:
    • rgb_dot(0,0,0) soll einen schwarzen Punkt zeichnen,
    • rgb_dot(5,0,0) einen ganz roten Punkt und
    • rgb_dot(5,5,5) einen weissen Punkt.
  2. Ergänze einen Code, der alle 216 Farben, die mit dieser Funktion gezeichnet werden können, in einer Farbpallete wie im Bild unten aufzeichnet.

ND3 – Fibonacci-Spirale

Infomiere dich zuerst über die Informiere dich über die Fibonacci-Folge und erstelle dann Funktionen, mit denen Du eine Fibonacci-Spirale wie im Bild malen kannst.

  1. Erstelle eine Funktion fibonacci(n), die eine Liste mit den ersten n Zahlen der Fibonacci-Folge zurückgibt. Zum Beispiel gibt fibonacci(7) die Liste [0, 1, 1, 2, 3, 5, 8] zurück. Teste die Funktion.
  2. Erstelle eine Funktion viertelrkreis(radius, farbe), die einen Viertelkreis in gewünschter Farbe zeichnet. Tipp: Die Turtle sollte den Kreis so zeichnen, dass sie mit dem Bogen beginnt und am Ende an derjenigen Position ist, an der der nächste Kreisbogen beginnen kann. Teste deine Funktion, indem du sie mehrmals, mit immer grösserem Radius, aufrufst.
  3. Erstelle eine Funktion fibo_spirale(n), die eine fibonacci-Spirale aus n Viertelkreisen wie im Bild malt: Die Farben der Viertelkreise wechseln zwischen blau und rot. Verwende die bereits erstellten Funktionen fibonacci und viertelkreis. Teste deine Funktion.

Zusatzaufbabe

Erstelle eine neue Funktion fibo_spirale2(n, colors). Dieser Funktion wird zusätzlich eine Farbliste beliebiger Länge mitgegeben. Die Funktion zeichnet die Viertelkreise gemäss der Farbliste. Für folgenden Code sollte nebenstehendes Bild entstehen.

farben = ["crimson", "orange", "maroon", "gold"]
fibo_spirale2(9, farben)

Lösungen

Lösungen zu Aufgaben ND: