Programmieren Teil 4 – Funktionen

Lernziele:

Du kennst Variablen – darin kannst du einen Wert speichern. Und du kennst Listen – darin kannst du mehrere Werte speichern. Aber du hast dich villeicht schon gefragt: „Was, wenn ich gleich mehrere Codezeilen irgendwo unterbringen will?“. Für diese Idee gibt es Funktionen, die wir auch Unterprogramme nennen können.

Auftrag 1 – Bereits bekannte Funktionen anschauen

In Python sind viele Funktionen schon eingebaut. Du hast ein paar davon schon oft verwendet – zum Beispiel print, input und len:

print("Hallo")
name = input("Wie heisst du?")
n_letters = len(name)
print(f"Dein Name hat {n_letters} Buchstaben.")
Aufgabe

Zu zweit: Besprecht folgende Fragen. Vergleicht dann mit der Lösung unten.

  1. Was ist allen drei Funktionen gemeinsam?
  2. Worin unterscheiden sich die Funktionen strukturell (abgesehen davon, dass sie unterschiedliche Namen haben und unterschiedliche Zwecke erfüllen)?

Auftrag 2 – Eine Funktion (ein Unterprogramm) erstellen und verwenden

Mit folgendem Code zeichnet die Turtle einen violeten Punkt, dreht 90 Grad nach rechts und fährt um 40 Pixel weiter:

from gturtle import * 
karl = Turtle()
 
karl.setPenColor("purple")
karl.dot(40)
karl.right(90)
karl.forward(40)

Die letzten vier Codezeilen aus obigem Code packen wir nun in eine Funktion namens „purple_dot“. Dann rufen wir die Funktion viermal nacheinander auf:

from gturtle import * 
karl = Turtle()
 
def purple_dot():
    karl.setPenColor("purple")
    karl.dot(40)
    karl.right(90)
    karl.forward(40)
 
purple_dot()
purple_dot()
purple_dot()
purple_dot()

Beachte:

  • Um eine Funktion zu erstellen, benötigst du das Schüsselwort def (die Funktion wird hier definiert).
  • Dann folgt der Funktionsname mit anschliessenden Klammern und ein Doppelpunkt:
    • alle Codezeilen, die nun eingerückt folgen, gehören zu dieser Funktion.
  • Du musst die Funktion erstellen, bevor du sie aufrufst. Die Definition der Funktion erfolgt also immer oben im Code und der Aufruf weiter unten.
Aufgabe

Kopiere obigen Code mit der Funktion „purple_dot“ und verändere ihn wie folgt:

  • Die Funktion soll neu „blue_dot“ heissen.
  • Dein Code soll sechs blaue 20-Pixel-Punkte im Sechseck zeichnen: Siehe Bild:

Auftrag 3 – Eine Funktion mit Argument erstellen und verwenden

Wir können einer Funktion auch ein Argument (oder mehrere) mitgeben. Argumente kommen in die Klammern rein. In folgendem Beispiel wird als Argument die Farbe übergeben.

from gturtle import * 
karl = Turtle()
 
def my_dot(color):
    karl.setPenColor(color)
    karl.dot(40)
    karl.right(90)
    karl.forward(40)
 
my_dot("red")
my_dot("blue")
my_dot("orange")
my_dot("green")

Aufgabe

Kopiere obigen Code und verändere ihn wie folgt:

  • Die Funktion hat ein Argument namens dot_size. Es wird also die Grösse des Punkts mitgegeben.
  • Dein Code zeichnet vier purpurne1) Punkte in den Grössen 20, 30, 40, 30, siehe Bild.

Auftrag 4 – Eine Funktion mit Argumenten und Rückgabewert erstellen und verwenden

Folgende Funktion namens schnitt berechnet den Durchschnitt zweier Zahlen und gibt das Resultat zurück. Die Funktion wird unten in der Funktion print aufgerufen.2).

def schnitt(zahl1, zahl2):
    summe = zahl1 + zahl2
    return summe/2
 
print(schnitt(4, 5))

Beachte:

  • Das Schlüsselwort return bewirkt Folgendes:
    1. Die Funktion wird sofort verlassen.
    2. Die Funktion gibt den Wert zurück, der hinter return steht.
  • Wenn kein Wert hinter return steht, gibt die Funktion None (nichts) zurück.
Aufgabe

Erstelle eine Funktion namens quader mit drei Argumenten namens l, b und h für die Länge, Breite und Höhe des Quaders. Die Funktion gibt das Volumen des Quaders zurück. Beispiel: Der Aufruf quader(2, 3, 4) gibt 24 zurück. Teste die Funktion, indem du sie dreimal mit unterschiedlichen Argumenten aufrufst und das Resltat jeweils mit print ausgibst.

Auftrag 5 – Wichtige Begriffe erklären

Besprecht zu zweit die folgenden Fragen zu Funktionen. Vergleicht anschliessend mit den Lösungen unten. Lest diese genau und fragt bei Bedarf nach!

  1. Was ist ein Argument?
  2. Was ist ein Rückgabewert? Welches Schüsselwort ist hier wichtig?
  3. Was ist eine Definition? Welches Schösselwort ist hierzu nötig?
  4. Was ist ein Aufruf?

Lösungen zu den Aufträgen (Einstieg und Theorie)


1)
„crimson“
2)
Der Rückgabewert der Funktion schnitt wird der Funktion print als Argument übergeben
  • gf_informatik/programmieren_iv_gra.txt
  • Zuletzt geändert: 2026-05-13 08:56
  • von gra