Wir nutzen bereits seit Beginn Funktionen und Methoden. Sie dienen dazu, wiederverwendbare, logisch abgegrenzte Abläufe zu kapseln, um Code klarer, strukturierter und leichter wartbar zu machen. Jede Funktion hat einen Namen wie
Schreibt man hinter den Namen Klammern, so wird sie aufgerufen. Die Ausführung springt dann in die Definition der Funktion/Methode und führt sie entsprechend aus. Gibt es ein Ergebnis (eine Rückgabewert), so spring man von einer Funktion, sonst von einer Methode.
Manche Funktionen/Methoden benötigen Daten, um ihre Aufgabe auszuführen. Diese können beim Aufruf übergeben werden, indem man sie in die Klammern schreibt. Jeder dieser sogenannten Parameter hat einen Datentyp wie zum Beispiel
Überlegt für folgende und eingene Alltagsprobleme einen passenden Funktionsnamen, Parameter mit Type und Rückgabewert mit Typ.
Die Funktion input benötigt einen Parameter vom Typ String. Dies ist der Text, der dem User angezeigt wird. Rückgabewert ist der Text (String), den der User eingegeben hat.
rueckgabewert = input("Bitte geben Sie etwas ein:")
Vervollständigen Sie folgende Tabelle.
| Name | Parameter (können mehrere sein) | Rückgabe | Methode / Funktion |
|---|---|---|---|
| input | str: Text für den User | str: Text, den der User eingegeben hat | Funktion |
| beliebig viele Paramenter von beliegem Typ | None | Methode | |
| min | liste | float | Funktion |
| max | liste | float | Funktion |
| sum | liste | float | Funktion |
| circle | x:int, y:int, durchmesser:int | None | Methode |
Aufgabe: https://inf-schule.de/imperative-programmierung/python/konzepte/funktion/uebungen
Lösung Aufgabe 1 (a)
def rechteck_umfang(seite):
return 4 * seite
def quarder_volumen(länge, breite, höhe):
return länge * breite * höhe
def quarder_oberfläche(länge, breite, höhe):
# siehe Tafelwerk
return 2*(länge*breite + länge*höhe + breite*höhe)
# Test
print("Umfang Rechteck:", rechteck_umfang(10))
print("Volumen Quader:", quarder_volumen(10,20,30))
print("Oberfläche Quader:", quarder_oberfläche(10,20,30))
Lösung Aufgabe 2 a,b und c
def bmi(gewicht, groesse):
return gewicht / (groesse * groesse)
def puls(alter):
return 165 - 0.75 * alter
def reaktionsweg(geschwindigkeit):
return geschwindigkeit / 10 * 3
def bremsweg(geschwindigkeit):
return geschwindigkeit / 10 * geschwindigkeit / 10
def anhalteweg(speed):
return reaktionsweg(speed) + bremsweg(speed)
print(bmi(150,200))
print(puls(15))
Lösung Aufgabe 3a
Die Funktion Summe berechnet die Summe der Zahle 1 bis n -> 1 + 2 + .... + n
Lösung Aufgabe 7
def muster(zeilen, spalen):
for i in range(zeilen):
for i in range(spalen):
print("#", end="")
# alle Spalten sind fertig
print()
muster(100,100)
Aufgabe: Berechnung Noten gleichwertig
def durchschnitt(noten):
summe = 0
for n in noten:
summe = summe + n
# berechne durchschnitt
d = summe / len(noten)
if d < 5:
print("unterpunktet")
return d
print(durchschnitt([12,7,2,2]))
Aufgabe: Berechnung Noten mit Klausuren
````python
def durchschnitt(zahlen):
summe = 0
for n in zahlen:
summe = summe + n
return summe / len(zahlen)
def durchschnitt_noten(klausuren, sonstige):
durchschnitt_klausur = durchschnitt(klausuren)
durchschnitt_sonstige = durchschnitt(sonstige)
druchschnitt = (durchschnitt_klausur + durchschnitt_sonstige) / 2
if druchschnitt < 5:
print("unterpunktet")
return druchschnitt
print(durchschnitt_noten([6],[14,13]))