03 Eigene Funktionen

Einstieg in das Thema

Was brauchst du als Basiswissen?

Du kennst Variablen, Verzweigungen, Schleifen, Listen und Texte.

Worum geht es?

Funktionen bündeln Anweisungen unter einem Namen. Sie machen Programme übersichtlicher und können mit unterschiedlichen Werten wiederverwendet werden.

Was ist das Ziel?

Du kannst Funktionen definieren und aufrufen, Parameter übergeben und Ergebnisse mit return zurückgeben.

Erarbeitung

Theorie

Aufgaben

def begruessung(name): print("Hallo", name) begruessung("Ada") begruessung("Guido")
Aufgabe 1
Was ist der Parameter, was sind die Argumente?
Aufgabe 2
Was geschieht ohne die beiden Aufrufe?
Aufgabe 3
Ergänze einen zweiten Parameter für eine Begrüßungsformel.
def flaeche(breite, hoehe): ergebnis = breite * hoehe return ergebnis rechteck = flaeche(6, 4) print("Fläche:", rechteck)
Aufgabe 4
Erkläre den Datenfluss. Verwende die Funktion anschließend für drei weitere Rechtecke und speichere die Ergebnisse in einer Liste.
Aufgabe 5
In der Funktion gibt es die Variable ergebnis. Warum funktioniert ein print("Fläche:", ergebnis) nicht?
Aufgabe 6
Beschreibe, was eine lokale Variable ist.
Aufgabe 7
Warum ist es sinnvoll, dass ergebnis außerhalb von flaeche() nicht zu sehen ist?
def doppelt_anzeigen(zahl): print(zahl * 2) def doppelt_berechnen(zahl): return zahl * 2
Aufgabe 8
Vergleiche die Funktionen.
Aufgabe 9
Warum kann das Ergebnis der zweiten Funktion leichter in einer weiteren Rechnung verwendet werden? Zeige dies an einem Beispiel.

Funktionen für Listen

Aufgabe 10
Schreibe eine Funktion `anzahl_grosse(werte, grenze)`. Sie gibt zurück, wie viele Werte mindestens so groß wie `grenze` sind.
Aufgabe 11
Teste mit verschiedenen Listen, einer leeren Liste und Grenzen, die genau in der Liste vorkommen.

Textfunktion

Aufgabe 12
Schreibe `ist_palindrom(text)`. Die Funktion soll Großschreibung ignorieren und True zurückgeben, wenn der Text vorwärts und rückwärts gleich lautet. Hinweis: `text[::-1]` dreht einen Text um.
Aufgabe 13
Teste `Anna`, `Lagerregal` und ein Nicht-Palindrom.
def quadrat(zahl) ergebnis = zahl * zahl print(ergebnis) wert = quadrat print(wert + 1)
Aufgabe 14
Verbessere Syntax, Aufruf und Rückgabe so, dass das Quadrat von 5 berechnet und danach um 1 erhöht wird.

Zusammenfassung

Was muss man wissen und können?

  • def definiert, ein Aufruf führt eine Funktion aus.
  • Parameter nehmen beim Aufruf Argumente entgegen.
  • return liefert ein Ergebnis zurück.
  • Funktionen zerlegen ein Programm in überschaubare Teilaufgaben.

Was folgt als Nächstes?

Nun lesen wir viele Datensätze aus einer Datei und werten sie mit Listen, Zeichenketten und Funktionen aus.