Die folgenden Aufgaben behandeln Funktionen mit Argumenten und Rückgabewerten.

NB1 – Franken in Kronen

Schreibe eine Funktion chf_in_nok, die Schweizer Franken (CHF) in Norwegische Kronen (NOK) umrechnet. Der Funktion wird eine Zahl in CHF übergeben und sie gibt die richtige Zahl in NOK zurück. Für den Umrechnungsfaktor googelst du einfach nach „chf in nok“. Teste deine Funktion.

NB2 – Maximalwert aus zwei Zahlen

Schreibe eine Funktion max_von_zwei(a, b), die das grössere der beiden Argumente zurückgibt. Teste deine Funktion für beide Fälle (erstes Argument grösser und zweites Argument grösser).

NB3 – Pfannkuchen

Schreibe eine Funktion zutaten_pfannkuchen(personen), die ausgehnd von der Anzahl Personen die Mengen für die Zutaten Mehl, Salz, Milch und Eier berechent und zurückgibt. Hier die Mengen für eine Person:

  • 50 g Mehl
  • 0.125 Teelöffel Salz
  • 1 dl Milch
  • 1 Ei

Hinweis: Hinter return kannst du mehrere Rückgabewerte anführen: Trenne sie mit Kommas.

Teste deine Funktion mit folgendem Code:

n = input("Wie viele Personen?")
mehl, salz, milch, ei = zutaten_pfannkuchen(n)
print(f"Du brauchst:\n{mehl} g Mehl\n{salz} TL Salz\n{milch} dl Milch\n{ei} Eier")

NB4 – Minimalwert aus drei Zahlen

Logische Verknüpfungen

Mit den Schlüsselworten and und orkannst du Bedingungen miteinander verknüpfen. Mit dem Schlüsselwort not kannst du Bedingungen und Ausdrücke invertieren. Hier drei Beispiele:

a = input("Erste Zahl eingeben:")
b = input("Zweite Zahl eingeben:")
 
if a > 0 and b > 0:
    print("Beide Zahlen sind positiv")
 
if a > 0 or b > 0:
    print("Mindestens eine der Zahlen ist positiv")
 
if not(a > 0 or b > 0):
    print("Keine der Zahlen ist positiv")
  • Erste Verzweigung: Eine Verknüpfung mit and ist wahr, wenn sowohl die erste, als auch die zweite Bedingung wahr ist.
  • Zweite Verzweigung: Eine Verknüpfung mit or ist wahr, wenn die erste oder die zweite Bedingung oder beide wahr sind.
  • Dritte Verzweigung: not invertiert (negiert) die nachfolgende Bedingung: Wenn das, was nach not kommt, falsch ist, so ist die gesamte Bedingung wahr – und umgekehrt.

Probiere es aus – teste den Code für alle drei Möglichkeiten!

Schreibe eine Funktion min_von_drei(a, b, c), die das kleinste der drei Argumente zurückgibt. Verwende logische Verknüpfungen (studiere hierzu die grüne Box oben). Teste deine Funktion mit folgendem Code:

print(min_von_drei(1,2,3))
print(min_von_drei(5,6,4))
print(min_von_drei(9,7,8))

NB5 – Maximalwert aus Liste

Schreibe eine Funktion max_in_liste(liste), die das grösste Element aus einer Liste zurückgibt. Verwende eine Schleife. Verwende keine bestehende Funktion. Teste deine Funktion mit folgenden drei Listen:

list1 = [11, 16, 5, 12, 3, 13] 
list2 = [13, 2, 5, 10, 1, 17, 5, 25]
list3 = [-25, -13, -3, -33]

NB6 – Gerade oder ungerade

Schreibe eine Funktion ist_gerade(n), die True zurückgibt, wenn n gerade ist, sonst False. Teste deine Funktion mit folgendem Code:

zahl = input("Bitte ganze Zahl eingeben:")
 
if ist_gerade(zahl):
    print("Die Zahl ist gerade")
else:
    print("Die Zahl ist ungerade")

Frage: Bisher hatten wir in einer if-Verzeigung immer eine Bedingung mit Vergleichsoperatoren stehen. Zum Beispiel x > 4 oder x % 2 == 0 etc. In diesem Code steht bloss die Funktion ist_gerade(). Wie erklärst du, dass hier keine Bedingung nötig ist? Bespreche deine Antwort mit der Lehrperson.

NB7 – Pizzabestellung

Schreibe eine Funktion pizza_lieferung(n), die ausgehend von der Anzahl Pizzen den Preis für die Pizzalieferung berechnet und zurückgibt. Das Argument n gibt die Anzahl Pizzen an. Jede Pizza kostet 12 Franken. Die Liefergebühren betragen 20 Franken. Ab einem Bestellwert von 50 Franken entfallen die Liefergebühren. Teste deine Funktion.

Frage: Wenn ihr zu viert seid: Bestellt ihr besser 4 oder 5 Pizzen?

NB8 – Nächte im Hotel

Schreibe eine Funktion hotel_preise(personen, naechte, klasse), die den Gesamtpreis für einen Hotelaufenthalt gemäss folgender Tabelle berechnet und zurückgibt: Preise pro Nacht:

Klasse Einzelzimmer Doppelzimmer
Standard 120 160
Ausblick 140 180
Balkon 200 260

Hinweise:

  • Deine Funktion muss zuerst die Anzahl Einzel- und Doppelzimmer berechnen (ausgehend von der Anzahl Personen): Es ist maximal ein Einzelzimmer nötig.
  • Falls für die Klasse etwas anderes als „Standard“, „Ausblick“ oder „Balkon“ angegeben wird, wird der höchste Preis (Balkon) berechnet.

Teste deine Funktion mit folgendem Code:

# Reise 1: 2 Personen, 2 Nächte, Standard: Preis = 320
print(hotel_preise(2, 2, "Standard"))
# Reise 2: 5 Personen, 3 Nächte, Ausblick: Preis = 1500
print(hotel_preise(5, 3, "Ausblick"))
# Reise 3: 6 Personen, 4 Nächte, Balkon: Preis = 3120
print(hotel_preise(6, 4, "Balkon"))
# Reise 4: 1 Person, 1 Nacht, falsche Angabe: Preis = 200
print(hotel_preise(1, 1, "stanDart"))
  • gf_informatik/funktionen/aufgaben_b.1778221232.txt.gz
  • Zuletzt geändert: 2026-05-08 06:20
  • von gra