Übung 6

Übung 6.1

Erstelle eine Funktion namens times, die zwei Zahlen miteinander multipliziert.

Musterlösung
def times(x, y):
    return x * y
Musterlösung
times(2, 2)

Übung 6.2

Die eben erstellte Funktion times benötigt 2 Argumente (die miteinander multipliziert werden). Wandle den zweiten Parameter in einen optionalen Parameter um (mit dem Defaultwert 1).

Zusatzaufgabe: Was passiert, wenn du den ersten Parameter in einen optionalen Parameter umwandelst?

Musterlösung
def times(x, y = 1):
    return x * y
Musterlösung
times(3)
Musterlösung
# (Zusatzaufgabe)
def times(x = 1, y):
    return x * y

Übung 6.3

Erstelle eine Funktion namens bmi, die aus Grösse und Gewicht einen BodyMassIndex berechnet (\(BMI=\frac{m}{l^2}\), \(m\): Körpermasse in Kilogramm, \(l\): Körpergrösse in Meter). Das Resultat soll etwa folgendermassen aussehen:

Musterlösung
def bmi(groesse_m, gewicht_kg):
    return gewicht_kg / (groesse_m * groesse_m)
bmi(groesse_m = 1.8, gewicht_kg = 88)
27.160493827160494

Übung 6.4

Erstelle eine Funktion mittelwert(), welche den Mittelwert aus einer Liste (List) von Zahlen berechnet. Nutze dazu sum() und len() analog Uebung 2.6. Das Resultat sollte folgendermassen aussehen:

Musterlösung
def mittelwert(zahlen):
    return sum(zahlen) / len(zahlen)
meine_zahlen = [50, 100, 550, 1000]
mittelwert(meine_zahlen)
425.0

Übung 6.5

Erstelle eine Funktion celsius_zu_farenheit, welche eine beliebige Zahl von Grad Celsius in Grad Farenheit konvertiert. Zur Erinnerung: Temperatur in °F = Temperatur in °C x 1,8 + 32.

Musterlösung
def celsius_zu_farenheit(celsius):
    farenheit = celsius * 1.8 + 32
    return farenheit

Das Resultat sollte folgendermassen aussehen:

celsius_zu_farenheit(celsius = 25)
77.0

Übung 6.6

Schreibe die letzte Funktion celsius_zu_farenheit in der lambda Notation.

Musterlösung
celsius_in_farenheit2 = lambda celsius: celsius * 1.8 + 32