Kedves diákjaim! Itt egy nagyszabású futóverseny eredményeit dolgozzuk fel!
------------
# Részeredmények
file_content = """
Anna F 3600
Bela F 3500
Cili N 3700
Dora N 3400
Ede F 3900
"""
# 1. Beolvasás és adatszerkezet kialakítása
versenyzok = []
for sor in file_content.strip().splitlines():
adatok = sor.strip().split()
if len(adatok) == 3:
versenyzo = {
'nev': adatok[0],
'kategoria': adatok[1],
'ido': int(adatok[2])
}
versenyzok.append(versenyzo)
# 2. Célba érkezettek száma
print(f"2. feladat: Célba érkezettek száma: {len(versenyzok)} fő")
# 3. Kategória győztesek meghatározása
legjobb_ferfi = None
legjobb_no = None
for v in versenyzok:
if v['kategoria'] == 'F':
if legjobb_ferfi is None or v['ido'] < legjobb_ferfi['ido']:
legjobb_ferfi = v
elif v['kategoria'] == 'N':
if legjobb_no is None or v['ido'] < legjobb_no['ido']:
legjobb_no = v
if legjobb_ferfi:
print(f"3. feladat: Férfi győztes: {legjobb_ferfi['nev']} ({legjobb_ferfi['ido']} másodperc)")
if legjobb_no:
print(f"3. feladat: Női győztes: {legjobb_no['nev']} ({legjobb_no['ido']} másodperc)")
# 4. Átlagidő megadott kategóriában
valasztott_kat = "F"
ossz_ido = 0
kat_db = 0
for v in versenyzok:
if v['kategoria'] == valasztott_kat:
ossz_ido += v['ido']
kat_db += 1
if kat_db > 0:
atlag = ossz_ido / kat_db
print(f"4. feladat: A(z) {valasztott_kat} kategória átlagideje: {atlag:.2f} másodperc")
# 5. Eredmény mentése fájlba
ossz_ido_f = 0
db_f = 0
ossz_ido_n = 0
db_n = 0
for v in versenyzok:
if v['kategoria'] == 'F':
ossz_ido_f += v['ido']
db_f += 1
elif v['kategoria'] == 'N':
ossz_ido_n += v['ido']
db_n += 1
atlag_f = ossz_ido_f / db_f if db_f > 0 else 0
atlag_n = ossz_ido_n / db_n if db_n > 0 else 0
with open('eredmenyek.txt', 'w', encoding='utf-8') as ki_fajl:
ki_fajl.write("Férfiak eltérése az átlagtól:\n")
for v in versenyzok:
if v['kategoria'] == 'F':
elteres = v['ido'] - atlag_f
ki_fajl.write(f"{v['nev']} {elteres:.2f}\n")
ki_fajl.write("\nNők eltérése az átlagtól:\n")
for v in versenyzok:
if v['kategoria'] == 'N':
elteres = v['ido'] - atlag_n
ki_fajl.write(f"{v['nev']} {elteres:.2f}\n")
print("5. feladat: Az 'eredmenyek.txt' fájl sikeresen elkészült.")
------------
Célba érkezettek száma: 5 fő
Férfi győztes: Bela (3500 másodperc)
Női győztes: Dora (3400 másodperc)
A(z) F kategória átlagideje: 3666.67 másodperc
Az 'eredmenyek.txt' fájl sikeresen elkészült.
------------
Futtatás; https://onecompiler.com/python#draft-tdxd
Nincsenek megjegyzések:
Megjegyzés küldése