Skip to content

Ziele ​

  • Eine Funktion mit def definieren und aufrufen
  • Parameter übergeben
  • Ergebnisse mit return zurückgeben

Von „benutzen" zu „schreiben" ​

print(), len(), .upper() hast du schon benutzt (siehe Methoden). Jetzt schreibst du eigene Funktionen – für Code, den du öfter brauchst.

Definition und Aufruf ​

python
def begruessung():
    print("Hallo!")
    print("Schön, dass du da bist.")

begruessung()
begruessung()
Erklärung

def begruessung(): definiert die Funktion – der eingerückte Block wird noch nicht ausgeführt. Erst der Aufruf begruessung() startet ihn. Danach kannst du ihn beliebig oft aufrufen.

Parameter: Werte hineingeben ​

python
def begruesse(name):
    print(f"Hallo {name}!")

begruesse("Mia")
begruesse("Tom")

return: ein Ergebnis herausgeben ​

Eine Funktion mit return liefert einen Wert zurück, mit dem du weiterrechnen kannst:

python
def quadrat(x):
    return x * x

ergebnis = quadrat(5)
print(ergebnis)
print(quadrat(3) + quadrat(4))

print ist nicht return

print zeigt etwas an, return gibt einen Wert zurück. Nur mit return kannst du quadrat(3) + quadrat(4) rechnen. Nach return endet die Funktion sofort.

Mehrere Parameter ​

python
def rechteck_flaeche(breite, hoehe):
    return breite * hoehe

print(rechteck_flaeche(8, 3))
print(rechteck_flaeche(5, 5))

Lokale Variablen ​

Variablen, die in einer Funktion angelegt werden, gibt es auch nur dort:

python
def verdopple(zahl):
    doppelt = zahl * 2
    return doppelt

print(verdopple(21))
# print(doppelt)  # -> Fehler: außerhalb nicht bekannt

Aufgaben ​

Löse die folgenden Aufgaben selbstständig oder mit einem Partner oder Partnerin.

Aufgabe 1: Fahrenheit ​

Schreibe celsius_zu_fahrenheit(c) mit der Formel c * 9 / 5 + 32 und teste mit 0, 20 und 37.

python
def celsius_zu_fahrenheit(c):
    # return ...
    pass

print(celsius_zu_fahrenheit(20))

Aufgabe 2: Fakultät als Funktion ​

Packe deine Fakultätsberechnung aus dem Schleifen-Kapitel in eine Funktion fakultaet(n), die das Ergebnis zurückgibt.

python
def fakultaet(n):
    ergebnis = 1
    # for-Schleife
    return ergebnis

print(fakultaet(5))

Aufgabe 3: Maximum von zwei Zahlen ​

Schreibe groesser(a, b), das die größere der beiden Zahlen zurückgibt – ohne max().

python
def groesser(a, b):
    # if / else mit return
    pass

print(groesser(17, 42))
Tipp

if a > b: return a – sonst return b.