Entscheiden und wiederholen
Funktionen
Etwa 18 Minuten. Lass dir ruhig länger Zeit.
Danach kannst du
- Eine eigene Funktion schreiben und aufrufen
- Den Unterschied zwischen ausgeben und zurückgeben verstehen
Eine Funktion ist ein Stück Programm mit einem Namen. Du baust sie einmal und rufst sie danach auf, so oft du willst.
def begruesse(name):
print("Hallo " + name)
begruesse("Ada")
begruesse("Ben")
defleitet die Funktion einbegruesseist der Namenamein den Klammern ist die Eingabe — der Wert, mit dem sie arbeitet- die Klammern beim Aufruf lösen sie aus
Ohne Klammern (begruesse) meinst du die Funktion selbst, nicht ihre
Ausführung. Auch das ein Fehler, den jeder einmal macht.
Ausgeben oder zurückgeben?
Das ist der wichtige Teil dieser Lektion.
def verdopple_und_zeige(zahl):
print(zahl * 2)
def verdopple(zahl):
return zahl * 2
Die erste zeigt das Ergebnis und ist damit fertig. Die zweite gibt es zurück — du kannst damit weiterarbeiten:
ergebnis = verdopple(5) + verdopple(10) # 30
Mit der ersten Variante geht das nicht. Sie liefert nichts zurück, sondern malt nur etwas auf den Bildschirm.
Faustregel:
return, wenn ein Wert entsteht.
Dasselbe in zwei Sprachen
Python
def verdopple(zahl):
return zahl * 2
C#
int Verdopple(int zahl)
{
return zahl * 2;
}
C# will vorher wissen, was hineingeht (int zahl) und was herauskommt (das
int ganz vorne). Sonst ist es dieselbe Sache.
Deine Aufgabe
Schreib eine Funktion brutto(netto), die zu einem Nettopreis 19 % Mehrwertsteuer
dazurechnet und das Ergebnis zurückgibt.
Ruf sie danach mit 100 und mit 50 auf und gib beide Ergebnisse aus — zwei
Zeilen, 119.0 und 59.5.
Innerhalb der Funktion darf kein print stehen.