Kedves diákjaim! Nézzünk egy másik időjáráselemzésre példát. A kapott adatok alapján számolunk.
---------
def feladat_megoldasa(fajlnev=None):
if fajlnev is None:
# Kapott adatok
adatok = [
{'datum': '2026-01-01', 'homerseklet': 12},
{'datum': '2026-01-02', 'homerseklet': 15},
{'datum': '2026-01-03', 'homerseklet': 31},
{'datum': '2026-01-04', 'homerseklet': 33},
{'datum': '2026-01-05', 'homerseklet': 29},
{'datum': '2026-02-01', 'homerseklet': 18},
{'datum': '2026-02-02', 'homerseklet': 22},
{'datum': '2026-02-03', 'homerseklet': 26},
{'datum': '2026-02-04', 'homerseklet': 35},
]
else:
adatok = []
try:
with open(fajlnev, 'r', encoding='utf-8') as forras:
for sor in forras:
elemek = sor.strip().split()
if elemek:
ev, honap, nap, homerseklet = elemek
adatok.append({
'datum': f"{ev}-{honap}-{nap}",
'homerseklet': int(homerseklet)
})
except FileNotFoundError:
print("A megadott fájl nem található.")
return
if not adatok:
print("Nincs feldolgozható adat.")
return
osszeg = 0
for adat in adatok:
osszeg += adat['homerseklet']
atlag = osszeg / len(adatok)
print(f"1. A teljes időszak átlaghőmérséklete: {atlag:.2f} °C")
min_adat = adatok[0]
max_adat = adatok[0]
for adat in adatok:
if adat['homerseklet'] < min_adat['homerseklet']:
min_adat = adat
if adat['homerseklet'] > max_adat['homerseklet']:
max_adat = adat
print(f"2. Leghidegebb nap: {min_adat['datum']} ({min_adat['homerseklet']} °C)")
print(f" Legmelegebb nap: {max_adat['datum']} ({max_adat['homerseklet']} °C)")
maximum_egymas_utani = 0
aktualis_egymas_utani = 0
for adat in adatok:
if adat['homerseklet'] > 30:
aktualis_egymas_utani += 1
if aktualis_egymas_utani > maximum_egymas_utani:
maximum_egymas_utani = aktualis_egymas_utani
else:
aktualis_egymas_utani = 0
print(f"3. A leghosszabb hőségriadó (egymást követő napok >30°C): {maximum_egymas_utani} nap volt")
havi_maximumok = {}
for adat in adatok:
honap = adat['datum'].split('-')[1]
if honap not in havi_maximumok or adat['homerseklet'] > havi_maximumok[honap]:
havi_maximumok[honap] = adat['homerseklet']
print("4. Havi maximum hőmérsékletek:")
for honap, ertek in sorted(havi_maximumok.items()):
print(f" {honap}. hó: {ertek} °C")
with open('statisztika.txt', 'w', encoding='utf-8') as cel:
cel.write(f"Atlag: {atlag:.2f}\n")
cel.write(f"Max_egymas_utani: {maximum_egymas_utani}\n")
feladat_megoldasa()
------------
1. A teljes időszak átlaghőmérséklete: 24.56 °C
2. Leghidegebb nap: 2024-01-01 (12 °C)
Legmelegebb nap: 2024-02-04 (35 °C)
3. A leghosszabb hőségriadó (egymást követő napok >30°C): 2 nap volt
4. Havi maximum hőmérsékletek:
01. hó: 33 °C
02. hó: 35 °C
----------------
Futtatás; https://onecompiler.com/python#draft-tdxd
Nincsenek megjegyzések:
Megjegyzés küldése