Python :: Aufgabe #288
3 Lösungen
Hitzeindex (gefühlte Temperatur)
Anfänger - Python
von JKooP
- 04.10.2020 um 12:08 Uhr
Die auf dem Thermometer, vor allem im Sommer, angezeigt Temperatur stimmt häufig nicht mit der gefühlten Temperatur überein. Denn je feuchter die Luft, desto wärmer nehmen wir die Temperatur wahr. Deshalb wurde der Hitzeindex (HI) eingeführt, der generell für Temperaturen ab 27°C und einer relativen Luftfeuchte von mehr als 40% angewendet wird.
Schreibe eine Methode/Funktion, die Temperatur (t) und Luftfeuchte (h) entgegennimmt und den Hitzeindex (hi) ausgibt.
hi = c1 + c2*t + c3*h +
c4*t*h + c5*t*t + c6*h*h +
c7*t*t*h + c8*t*h*h +
c9*t*t*h*h
c1 = -8.784695,
c2 = 1.61139411,
c3 = 2.338549,
c4 = -0.14611605,
c5 = -1.2308094e-2,
c6 = -1.6424828e-2,
c7 = 2.211732e-3,
c8 = 7.2546e-4,
c9 = -3.582e-6
Viel Spaß
Schreibe eine Methode/Funktion, die Temperatur (t) und Luftfeuchte (h) entgegennimmt und den Hitzeindex (hi) ausgibt.
hi = c1 + c2*t + c3*h +
c4*t*h + c5*t*t + c6*h*h +
c7*t*t*h + c8*t*h*h +
c9*t*t*h*h
c1 = -8.784695,
c2 = 1.61139411,
c3 = 2.338549,
c4 = -0.14611605,
c5 = -1.2308094e-2,
c6 = -1.6424828e-2,
c7 = 2.211732e-3,
c8 = 7.2546e-4,
c9 = -3.582e-6
Viel Spaß
Lösungen:
Python-Code
#hi = c1 + c2*t + c3*h + #c4*t*h + c5*t*t + c6*h*h + #c7*t*t*h + c8*t*h*h + #c9*t*t*h*h #c1 = -8.784695, #c2 = 1.61139411, #c3 = 2.338549, #c4 = -0.14611605, #c5 = -1.2308094e-2, #c6 = -1.6424828e-2, #c7 = 2.211732e-3, #c8 = 7.2546e-4, #c9 = -3.582e-6 t = float(input("Geben Sie eine Temperatur über 26 Grad ein: ")) h = float(input("Geben Sie eine Luftfeuchtigkeit in Prozent ein: ")) c=[-8.784695,1.61139411,2.338549,-0.14611605,-1.2308094e-2,-1.6424828e-2,2.211732e-3,7.2546e-4,-3.582e-6] hi = c[0]+c[1]*t+c[2]*h+c[3]*t*h+c[4]*t*t+c[5]*h*h+c[6]*t*t*h+c[7]*t*h*h+c[8]*t*t*h*h print("Der Luftfeuchtigkeitsindex beträgt: {0:3.2f} Grad".format(hi))
Python-Code
import math print('#### Berechnung des Hitzeindex / Gefühlte Temperatur ####\n') c1 = -8.784695 c2 = 1.61139411 c3 = 2.338549 c4 = -0.14611605 c5 = -1.2308094e-2 c6 = -1.6424828e-2 c7 = 2.211732e-3 c8 = 7.2546e-4 c9 = -3.582e-6 def hitzeindex(): t = float(input('Reale Temperatur: ')) h = float(input('Reale Luftfeuchte: ')) hi = c1 + c2 * t + c3 * h + c4 * t * h + c5 * t * t + c6 * h * h + c7 * t * t * h + c8 * t * h * h + c9 * t * t * h * h if (t >= 27) and (h >= 40): print('\nHitzeindex bzw Gefühlte Temperatur: ', math.ceil(hi), 'Grad') # Aufrunden auf nächsten Integer else: print('\nHitzeindex bzw Gefühlte Temperatur: ', t, 'Grad') hitzeindex()
Python-Code
error = 1 def Hitzeindex(t,h): c1 = -8.784695 c2 = 1.61139411 c3 = 2.338549 c4 = -0.14611605 c5 = -1.2308094e-2 c6 = -1.6424828e-2 c7 = 2.211732e-3 c8 = 7.2546e-4 c9 = -3.582e-6 index = round(c1 + c2*t + c3*h+ c4*t*h + c5*t*t + c6*h*h + c7*t*t*h + c8*t*h*h + c9*t*t*h*h, 2) return index,t,h while error == 1: try: temp=float(input("Aktuelle Temperatur in °C: ")) luftf=float(input("Aktuelle Luftfeuchte in %: ")) error=0 except ValueError: print("Nur Zahlen erlaubt!") continue print("\nDer Hitzeindex beträgt: "+ str(Hitzeindex(temp,luftf)[0]) + "°C\n")