Dies ist eine alte Version des Dokuments!


Funktionen mit Parameter

Das sind Funktionen, denen man Informationen übermittelt, die dann von der Funktion verarbeitet werden und bei jedem Aufruf ein darauf aufbauendes Ergebnis liefern. Die Informationen, die die Funktionen erhalten, nennt man Parameter.

Parameter sind Platzhalter für Werte, die jedes Mal anders sein können. Du gibst den Parameter bei der Definition einer Funktion hinter den Funktionsnamen in einem Klammerpaar an.

def funktionsname(parameter):
    Anweisungen, die
    parameter verwenden

Der Parametername ist frei wählbar, sollte aber seine Bedeutung wiederspiegeln. Bei der Verwendung der Funktion gibst du wieder in Klammern den Wert an, den der Parameter haben soll.

funktionsname(123)

Hier wird der Parameter in der ganzen Funktion durch 123 ersetzt.


Befehle können mehrere Parameter besitzen. Diese werden in der Parameterklammer getrennt mit Komma eingegeben.

def befehlsname(parameter1, parameter2....):
   Anweisungen, die parameter1 
   und parameter2 verwenden

Die Reihenfolge der Parameter in der Parameterklammer bei der Definition des Befehls muss mit der Reihenfolge der Werte beim Aufruf des Befehls übereinstimmen.


Beispiel 1

#Funktion mit Parametern
def nutzer_gruessen(vorname, nachname):
    print("Herzlich willkommen,", vorname, nachname)
 
#Funktionsaufruf
nutzer_gruessen("Manfred", "Meyer")
 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
#Eingabeaufforderung zur Veranschaulichung eines weiteren Beispiels
vornameEingabe = input("Bitte Vornamen eingeben: ")
nachnameEingabe = input("Bitte Nachname eingeben: ")
 
#Funktionsaufruf mit Variablen
nutzer_gruessen(vornameEingabe, nachnameEingabe)

Beispiel 2

#Funktionsdefinition
def name_der_funktion(parametername_1):
    print(parametername_1)
 
#Funktionsaufruf
name_der_funktion("Python rocks!")

Beispiel 3

#Funktionsdefinition
def berechne_summe(parametername_1, parametername_2):
    summe = parametername_1 + parametername_2
    print(summe)
 
#Funktionsaufruf
berechne_summe(145460, 256677)

Aufgaben

Versuche die Aufgaben mit Hilfe der Beispiele und der Arbeitsblätter zu lösen.

Defniere eine Funktion mit Parametern, die die Fläche eines Rechtecks berechnet.

#Funktionsdefinition
#???
 
#Funktionsaufruf
flaeche_rechteck(3,7)
 
>> Die Fläche des Rechtecks ist 21.

Definiere eine Funktion viereck(seitenlaenge, farbe), mit der die Turtle ein Viereck mit einer bestimmten Seitenlänge und Farbe zeichnet. Du benötigst hierbei auch folgende Turtle-Funktionen: pencolor(Argument) & forward(Argument)

Das folgende Programm zeichnet leider 3 gleich grosse Fünfecke, aber nicht wie gewünscht verschieden grosse. Warum nicht? Korrigiere es.

import turtle as t 
 
def pentagon(sidelength, color): 
   t.pencolor(color) 
   for i in range (0,5): 
      t.forward(90) 
      t.left(72)
 
 
pentagon(100, "red") 
t.left(120) 
pentagon(80, "green")
t.left(120) 
pentagon(60, "violet")

Du sagst der Turtle mit dem Befehl segment(), sich um eine bestimmte Strecke s vorwärts zu bewegen und sich um einen bestimmten Winkel w nach rechts zu drehen:

import turtle as t
 
def segment(s, w):
   t.forward(s)
   t.right(w) 
 
#???

Schreibe ein Programm, das diesen Befehl 92 mal mit s = 300 und w = 151 ausführt.

Das Porto von Drucksachen hängt vom Gewicht ab. Zur Portoberechnung soll eine Funktion definiert werden, die anhand des Gewichts der Drucksachen die Gewichtsklasse bestimmt, den Portobetrag berechnet und auf der Shell ausgibt. Für das Porto pro Drucksache soll folgende Staffelung gelten:

  • bis 50g –> 0,15 €
  • von 50g bis 100g –> 0,25€
  • von 100g bis 250g –> 0,30€
  • über 250g –> 0,60€

<html>

<iframe src=„https://trinket.io/embed/python/a7ecfe63eb“ width=„100%“ height=„600“ frameborder=„0“ marginwidth=„0“ marginheight=„0“ allowfullscreen></iframe>

</html>