Schreibe eine Funktion temperatur
, die Abhängig von einer Temperatur (Zahl in Grad Celsius) ein Adjektiv (String) zurückgibt:
'frostig'
'kalt'
'mild'
'warm'
'heiß'
Die Funktion soll man in einer interaktiven Python-Shell so verwenden können:
>>> temperatur(15)
'mild'
>>> temperatur(-3)
'frostig'
Benutze die Funktion temperatur
in einem Python-Programm, das von der Standardeingabe eine Zahl einliest, diese als Temperatur in Grad Celsius interpretiert und je nach Wert auf die Standardausgabe einen Satz schreibt, wie:
Heute ist es <Adjektiv>.
Benutze dafür die Funktion format()
.
Von der Linux-Shell aus soll man das Programm so verwenden können:
$ python3 temperatur.py
15.3
Heute ist es mild.
Hinweis: Benutze die Funktion readline
:
sys.stdin.readline()
→ Eine Zeile von der Standardeingabe
Verändere das Programm so, dass es nicht eine einzelne Zeile von stdin
, sondern alle Zeilen aus einer Datei einliest, die in jeder Zeile einen Temperaturwert für einen Tag enthält.
Das Programm soll dann die Niedrigst-, Höchst- und Durchschnittstemperatur ermitteln und ausgeben.
Bonus 1: Benutze Git, um die Änderungen am Programm später noch nachvollziehen zu können.
Bonus 2: Versuche, die Durchschnittstemperatur nur mit einer Stelle nach dem Dezimalpunkt darzustellen (geht mit der richtigern Verwendung von format()
).
Angenommen, die Datei temperaturen.txt
enthält folgendes:
5
7
3.5
11
Dann soll das Programm von der Linux-Shell aus so funktionieren:
$ python3 temperatur.py temperaturen.txt
Die niedrigste Temperatur war 3.5 °C.
Die höchste Temperatur war 11 °C.
Die Durchschnittstemperatur war 6.6 °C.
Eine Datei mit interessanteren Daten ist hier zu finden.
Erweitere das Programm so, dass es zusätzlich noch ausgibt:
Für die selbe Datei mit Temperaturen wie in Aufgabe 3 soll das Programm von der Linux-Shell aus so funktionieren:
$ python3 temperatur.py temperaturen.txt
Die niedrigste Temperatur war 3.5 °C.
Die höchste Temperatur war 11 °C.
Die Durchschnittstemperatur war 6.6 °C.
Es gibt Temperaturangaben von 4 Tagen.
An einem Tag war es mild.
An 4 Tagen war es kalt.
Bonus: Versuche zu erreichen, dass das Programm An einem Tag
anstatt An 1 Tagen
ausgibt.