Python :: Aufgabe #288

3 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von Gisbert5020 (3120 Punkte) - 16.10.2020 um 18:25 Uhr
Quellcode ausblenden 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))

vote_ok
von Chrisu90 (900 Punkte) - 21.11.2020 um 19:04 Uhr
Quellcode ausblenden 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()
vote_ok
von andrew (190 Punkte) - 24.11.2020 um 10:02 Uhr
Quellcode ausblenden 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")