Fogadásos feladat
Estimated reading: 3 minutes
0 views
1. Az „toto” osztály inicializálja az osztály példányait, amelyek az eredményeket tárolják.
class toto:
def __init__(self, sor):
ev, het, fordulo, t13p1, ny13p1, eredmenyek = sor.split(';')
self.ev = int(ev)
self.het = int(het)
self.fordulo = int(fordulo)
self.t13p1 = int(t13p1)
self.ny13p1 = int(ny13p1)
self.eredmenyek = eredmenyek
def nem_volt_dontetlen(self):
return self.eredmenyek.count('X') == 0
A fogadásos feladat ezeket az értékeket tartalmazza:
• Év: A fogadási forduló éve (1998-2020)
• Hét: A fogadási forduló hete (1-53)
• Forduló: Forduló sorszáma (1 vagy 2)
• T13p1: 13+1 találatos (telitalálatos) szelvények darabszáma
• Ny13p1: Egy darab 13+1 találatos szelvény után fizetett nyeremény
2. Az eredményeket tartalmazó fájlt megnyitja és beolvassa a sorokat.
fordulok = []
with open('toto.txt', 'r', encoding='utf-8') as f:
for sor in f.read().splitlines()[1:]: #kihagyja az első sort
fordulok.append(toto(sor))
4. Kiírja a fogadási fordulók számát.
print(f'2. feladat: Fogadási fordulók száma: {len(fordulok)}')
5. Megszámolja a telitalálatos szelvények számát.
telitalalatos = 0
for e in fordulok:
telitalalatos += e.t13p1
print(f'3. feladat: Telitalálatos szelvények száma: {telitalalatos}')
6. Ellenőrzi, hogy van-e olyan forduló, amelyben nem volt döntetlen eredmény, majd ezt a tényt kiírja.
volt = False
for e in fordulok:
if e.nem_volt_dontetlen():
volt = True
break
print(f'4. feladat: {"Volt" if volt else "Nem volt"} döntetlen mentes forduló')
Teljes kód:
class toto:
def __init__(self, sor):
ev, het, fordulo, t13p1, ny13p1, eredmenyek = sor.split(';')
self.ev = int(ev)
self.het = int(het)
self.fordulo = int(fordulo)
self.t13p1 = int(t13p1)
self.ny13p1 = int(ny13p1)
self.eredmenyek = eredmenyek
def nem_volt_dontetlen(self):
return self.eredmenyek.count('X') == 0
fordulok = []
with open('toto.txt', 'r', encoding='utf-8') as f:
for sor in f.read().splitlines()[1:]: #kihagyja az első sort
fordulok.append(toto(sor))
print(f'2. feladat: Fogadási fordulók száma: {len(fordulok)}')
telitalalatos = 0
for e in fordulok:
telitalalatos += e.t13p1
print(f'3. feladat: Telitalálatos szelvények száma: {telitalalatos}')
volt = False
for e in fordulok:
if e.nem_volt_dontetlen():
volt = True
break
print(f'4. feladat: {"Volt" if volt else "Nem volt"} döntetlen mentes forduló')
Feladat letöltése: