At My Fingertips
Rapid Playground
Folgender Code soll 2, 2 und 3 addieren und 7 ausgeben. Korrigieren Sie.
Sie haben also zwei Fehler korrigiert: den print-Befehl hinzugefügt, und die Berechnung geändert.
Was müssen Sie bei den nächsten Feldern ändern?
Denken Sie auch daran, am Schluss des Funktionskopfes den Ausgabetyp mit ...) -> float:
zu fixieren. So wird auch gemeldet, dass die Ausgabe fehlerhaft ist, anstatt dass einfach nichts passiert.
Damit eine Funktion eine Ausgabe habt, muss laut obiger Beispiele auch Folgendes zutreffen:
return x
.show_graphic(viertelkreis(50, blue))
oder print(addiere(1,2,3))
.
Man kann aber auch Funktionen mit Seiteneffekten einbauen.
Solche Funktionen mit Seiteneffekten müssen dann nicht mehr in einem print- oder show_graphic-Befehl als Parameter aufgerufen werden.
Diese sind aber unrein, weil sie für die weitere Verwendung oft nicht mehr geeignet sind. Vielleicht haben Sie schon etwas ähnliches erlebt, als Sie Ihren Code für die Toolbox nicht sauber gereinigt haben und dann immer zu viele Formen (Herze, Halbkreise, ...) beim Wiederverwenden erschienen.
In den obigen Aufgaben haben Sie auch gesehen, dass die Fixierung von Parameter- und Datentypen nützlich ist, um hilfreiche Fehlermeldungen zu erhalten.
def multipliziere(a: float, b: float, c: float) -> float:
return a * b * c
Denken Sie daran, dass Funktionen ohne Ausgabewerte (ohne return
) keinen Ausgabetyp mit ->
angeben dürfen.
Schreiben Sie eine Funktion, die als Seiteneffekt die Quadratzahl ausgibt.
Lösungsvorschlag:
def quadratzahl(z: float):
print(z * z)
quadratzahl(5)
Schreiben Sie eine Funktion, die die Kubikzahl zurückgibt (ohne Seiteneffekt).
Lösungsvorschlag:
def kubikzahl(z: float):
return z * z * z
print(kubikzahl(5))
Schreiben Sie eine Funktion, die als Seiteneffekt einen Dreiviertelkreis ausgibt.
Lösungsvorschlag:
from pytamaro import Color, circular_sector, show_graphic, cyan
def dreiviertelkreis_seiteneff(radius: float, farbe: Color):
show_graphic(circular_sector(radius, 360-90, farbe))
dreiviertelkreis_seiteneff(100, cyan)
Lösungsvorschlag: Sie können zwar die Parameter verändern (Grösse und Farbe), aber Sie können den Dreiviertelkreis nicht drehen, da sie ihn als fertige Ausgabe erhalten - nicht als veränderbare Grafik.
Erstellen Sie einen Pacman, indem Sie
Rufen Sie in der zweiten Funktion die erste Funktion auf.
Nehmen Sie den Pacman in Ihre Toolbox auf. Achten Sie darauf, dass nur die richtigen Funktionen und Ausgabebefehle in Ihrer Sammlung bleiben!
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Funktionen: Rückgabewert und Seiteneffekte
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 320e1c5 (Thu, 16 May 2024 14:11:39 GMT)