Musterlösung
def gruezi3(nachname, uhrzeit):
if(uhrzeit < 18):
= "Tag"
grussform else:
= "Abend"
grussform
return "Guten " + grussform + " " + nachname
Erstelle eine neue Funktion gruezi3
die gruezi
(aus Übung 5.1) um einem weiteren Parameter uhrzeit
erweitert. Die Funktion soll vor 18 Uhr (uhrzeit < 18
) mit “Guten Tag” und sonst mit “Guten Abend” grüssen. Um es einfach zu halten: Die Zeitangbe muss in Dezimalzahlen erfolgen (also nicht 20:15 Uhr
sondern 20.25
).
def gruezi3(nachname, uhrzeit):
if(uhrzeit < 18):
= "Tag"
grussform else:
= "Abend"
grussform
return "Guten " + grussform + " " + nachname
# die Lösung sollte etwa folgendermasssen funktionieren:
"Guido", uhrzeit = 21) gruezi3(
'Guten Abend Guido'
Erweitere die Funktion gruezi2
so, dass zwischen folgende Uhrzeiten berücksichtigt werden:
Uhrzeit | Begrüssungsform | |
---|---|---|
5 bis 11 Uhr | Guten Morgen | |
11 bis 18 Uhr | Guten Tag | |
18 bis 22 Uhr | Guten Abend | |
22 bis 5 Uhr | Gute Nacht |
Das Problem ist etwas schwierig zu Packen weil wir die “von - bis” Uhrzeiten in eine Ja/Nein Logik überführen müssen. Überlege dir zuerst eine Ausführungslogik und schreibe danach die if
, elif
und else
Operationen. Im Dropdown unten ist unser Vorschlag.
def gruezi2(nachname, anrede, uhrzeit):
if(uhrzeit < 5):
= "Gute Nacht"
was elif(uhrzeit < 11):
= "Guten Morgen"
was elif(uhrzeit < 18):
= "Guten Tag"
was elif(uhrzeit < 22):
= "Guten Abend"
was else:
= "Gute Nacht"
was
return was + ", " + anrede + " "+ nachname
Teste die Funktion mit verschiedenen Optionen um sicherzustellen, dass sie richtig funktioniert.
Erweitere die Funktion bmi
aus Übung 6.3 so, dass statt dem berechneten BMI der “Nutritional status” aufgrund der WHO Klassifizierung ausgegeben wird:
BMI | Nutritional status |
---|---|
Below 18.5 | Underweight |
18.5–24.9 | Normal weight |
25.0–29.9 | Pre-obesity |
30.0–34.9 | Obesity class I |
35.0–39.9 | Obesity class II |
Above 40 | Obesity class III |
def bmi2(groesse_m, gewicht_kg):
= gewicht_kg / (groesse_m * groesse_m)
bmi if(bmi < 18.5):
= "Underweight"
cat elif(bmi <= 24.9):
= "Normal weight"
cat elif(bmi <= 29.9):
= "Pre-obesity"
cat elif(bmi <= 34.9):
= "Obesity class I"
cat elif(bmi <= 39.9):
= "Obesity class II"
cat else:
= "Obesity class III"
cat return "Who classification: " + cat
# Der Output sollte etwa folgedermassen aussehen
1.7, 70) bmi2(
'Who classification: Normal weight'