Zum Inhalt springen
BlaupauseProgrammieren lernen

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")
  • def leitet die Funktion ein
  • begruesse ist der Name
  • name in 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. print nur ganz am Ende, wenn ein Mensch etwas sehen soll. Funktionen, die beides tun, sind schwer wiederzuverwenden.

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 % Mehrwert­steuer 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.

Editor
Ausgabe
Noch nichts ausgegeben. Drück auf „Ausführen“.
Festgefahren?3 Tipps

Die Tipps kommen einer nach dem anderen — vom Schubs bis zur konkreten Zeile. Nimm dir ruhig erst zwei Minuten selbst. Und wenn auch der letzte nicht hilft: das ist der Moment, mich zu fragen, nicht aufzugeben.

Musterlösungverschlossen

Den Code nenne ich am Ende der Session. Vorher bringt Nachschauen dir nichts — dann hast du zwar eine Lösung, aber keine Ahnung.