2026. június 26., péntek

Becsült napi átlaghőmérséklet

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