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.