Kostenlose Lieferung
Der Shop liefert Bestellungen bis an die Haustür. Die Lieferung kostet 5 €, aber Bestellungen ab 50 € werden kostenlos geliefert. Das ist eine Entscheidung, also brauchst du eine Bedingung. Packe sie in eine Funktion, die die Summe bekommt und den Preis der Lieferung zurückgibt.
Eine Funktion kann mehr als ein return haben, und eine Bedingung entscheidet, welches ausgeführt wird. Zum Beispiel kostet ein Ticket für ein Kind unter 15 Jahren 2 € und für alle anderen 4 €:
def eintrittspreis(alter):
if alter < 15:
return 2
else:
return 4
print(eintrittspreis(10))
print(eintrittspreis(30))2
4Weil return die Funktion beendet, kannst du das else auch weglassen und das zweite return 4 unter den if-Block schreiben, so weit eingerückt wie das if. Es wird nur ausgeführt, wenn das erste es nicht wurde.
Sei vorsichtig mit der Bedingung: ab 50 € bedeutet summe >= 50. Mit > würde ein Kunde mit einer Bestellung von genau 50 € die Lieferung trotzdem bezahlen.
In kassenbon_ausgeben() brauchst du den Preis der Lieferung zweimal: in einer eigenen Zeile und im Betrag, der zu zahlen ist. Speichere ihn also in einer Variablen, damit die Funktion nur einmal aufgerufen wird. Unser Warenkorb kostet vorerst 36 €, also zahlt der Kunde die Lieferung. In der nächsten Übung wächst der Warenkorb.
So schreibst du es:
Anweisungen
- 1
Schreibe unter
endsumme()eine Funktionlieferkosten(summe), die0zurückgibt, wennsumme50oder mehr ist, und sonst5. - 2
Speichere in
kassenbon_ausgeben()unter der Zeile, diesummeberechnet,lieferkosten(summe)in einer Variablenlieferung. Gib unter der Zeile, die die Summe ausgibt, die Lieferung und den Betrag aus, der zu zahlen ist, also die Summe plus die Lieferung:Lieferung: 5 €undZu zahlen: 41 €.