At My Fingertips
from pytamaro import (
Color, Graphic, circular_sector, rgb_color,
beside, rotate, show_graphic
)
BLATT_FARBE = rgb_color(23, 156, 98)
def blatt(hoehe: float, farbe: Color) -> Graphic:
links = rotate(90, circular_sector(hoehe, 90, farbe))
rechts = rotate(-90, circular_sector(hoehe, 90, farbe))
return beside(links, rechts)
Lösung: Die Funktion blatt(hoehe, farbe)
wird zwar vom Programm gelesen und gespeichert, muss jedoch noch aufgerufen werden, damit sie auch ausgeführt wird: show_graphic(blatt(150, BLATT_FARBE))
.
Die Variablen in den Klammern des Funktionskopfes heissen Parameter; die Werte (Variablen oder Literale) in den Klammern des Funktionsaufrufes heissen Argumente. Den Begriff Parameter kennen Sie bereits, der Begriff Argument ist in diesem Kontext neu.
Die Anzahl Parameter und deren Datentypen (im Funktionskopf) müssen identisch sein mit der Anzahl Argumente und deren Datentypen (im Funktionsaufruf). Eine Funktionsdefinition wie
def name(zahl, farbe):
...
muss also gleich viele Paramater haben, wie ihr Aufruf Argumente hat:
show_graphic(name(50, magenta))
Zudem müssen auch die Datentypen der Parameter übereinstimmen.
diameter, color, note_0, note_1, note_2
sind Parameter, weil diese Variablen in den Funktionsdefinitionen initialisert werden. 100, rgb_color(100, 100, 100), 3, 4, 4.5
sind Argumente, weil diese Werte in Funktionsaufrufen übergeben werden.
Folgende Aufrufe versuchen auch, ein Blatt auszugeben, funktionieren aber oft nicht (wie erwartet). Erklären Sie die Fehlerursachen in Stichworten (z. B. als Kommentar im Codefeld) und korrigieren Sie nur wo nötig. Merken Sie sich auch, welche fehlerhaften Aufrufe beim Ausführen welche Ausgaben oder Fehlermeldungen generieren.
blatt(200, black)
print(blatt(50, green))
show_graphic(blat(50, yellow))
show_graphic(blatt(magenta, 50))
show_graphic(blatt("123", "cyan"))
show_graphic(blatt(123.45, black))
show_graphic(blatt(white))
show_graphic(blatt(15 + 70 * 0.5, rgb_color(30, 50, 150))
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Funktionen: Parameter und Argumente
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)