Becsült napi átlaghőmérséklet
--------------
import matplotlib.pyplot as plt
from datetime import datetime
class IdosjarasElemzo:
def __init__(self, api_kulcs=None):
self.api_kulcs = api_kulcs
def adat_lekerdezes(self, varos):
return {
"name": varos,
"main": {
"temp": 22.5,
"humidity": 60
},
"weather": [
{"description": "tiszta égbolt"}
]
}
def statisztika_szamitas(self, homerseklet, paratartalom):
atlag_homerseklet = sum(homerseklet) / len(homerseklet)
atlag_paratartalom = sum(paratartalom) / len(paratartalom)
return atlag_homerseklet, atlag_paratartalom
def grafikon_keszites(self, varos, homerseklet_lista, paratartalom_lista):
ido_pontok = [datetime.now().strftime("%H:%M:%S") for _ in homerseklet_lista]
plt.figure(figsize=(10, 5))
plt.plot(ido_pontok, homerseklet_lista, label='Hőmérséklet (°C)', color='red', marker='o')
plt.plot(ido_pontok, paratartalom_lista, label='Páratartalom (%)', color='blue', marker='s')
plt.title(f"Időjárás alakulása - {varos}")
plt.xlabel("Időpont")
plt.ylabel("Érték")
plt.legend()
plt.grid(True)
plt.show()
if __name__ == "__main__":
varos = "Nyiregyhaza"
elemzo = IdosjarasElemzo()
adatok = elemzo.adat_lekerdezes(varos)
varos_neve = adatok['name']
homerseklet = adatok['main']['temp']
paratartalom = adatok['main']['humidity']
leiras = adatok['weather'][0]['description']
print(f"--- Időjárás: {varos_neve} ---")
print(f"Hőmérséklet: {homerseklet} °C")
print(f"Páratartalom: {paratartalom} %")
print(f"Általános állapot: {leiras.capitalize()}")
demo_homersekletek = [homerseklet - 1, homerseklet, homerseklet + 1.5, homerseklet + 0.5]
demo_paratartalmak = [paratartalom + 2, paratartalom, paratartalom - 5, paratartalom - 2]
atlagok = elemzo.statisztika_szamitas(demo_homersekletek, demo_paratartalmak)
print(f"\nBecsült napi átlaghőmérséklet: {atlagok[0]:.2f} °C")
print(f"Becsült napi átlagos páratartalom: {atlagok[1]:.2f} %")
elemzo.grafikon_keszites(varos_neve, demo_homersekletek, demo_paratartalmak)
--------------
--- Időjárás: Nyiregyhaza ---
Hőmérséklet: 22.5 °C
Páratartalom: 60 %
Általános állapot: Tiszta égbolt
Becsült napi átlaghőmérséklet: 22.75 °C
Becsült napi átlagos páratartalom: 58.75 %
Nincsenek megjegyzések:
Megjegyzés küldése