Skip to content

Commit

Permalink
Somea cleanups & new python solutions
Browse files Browse the repository at this point in the history
  • Loading branch information
Degubi committed Jun 17, 2024
1 parent 578ce2e commit caf26ce
Show file tree
Hide file tree
Showing 22 changed files with 142 additions and 99 deletions.
5 changes: 2 additions & 3 deletions informatika_ismeretek/emelt/2019_may/python/Nasa.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,5 @@ def domain(self):
print(f"6. Feladat: Összméret: {osszmeret} byte")
print("8. Feladat: Domaines kérések: %.2f%%" % (domainesek / len(keresek) * 100))

stat = Counter(k.httpKod for k in keresek)
for key, value in stat.items():
print(f" {key}: {value} db")
for kod, db in Counter(k.httpKod for k in keresek).items():
print(f" {kod}: {db} db")
4 changes: 2 additions & 2 deletions informatika_ismeretek/kozep/2019_may/python/Ultrabalaton.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ def idoOraban(self):

return ora + (perc / 60.0) + (mp / 3600.0)


with open('ub2017egyeni.txt', 'r') as file:
lines = file.readlines()
versenyzok = [ Versenyzo(lines[i]) for i in range(1, len(lines)) ]
versenyzok = [ Versenyzo(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Egyéni indulók: {len(versenyzok)}')

Expand Down
3 changes: 1 addition & 2 deletions informatika_ismeretek/kozep/2019_okt/python/Cbradio.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ def atszamolPercre(ora: int, perc: int):


with open('cb.txt', 'r') as file:
lines = file.readlines()
bejegyzesek = [ Bejegyzes(lines[i]) for i in range(1, len(lines)) ]
bejegyzesek = [ Bejegyzes(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Bejegyzések száma: {len(bejegyzesek)}')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ public class Sebessegkategoria {

public String getKategorianev() {
if (utazosebesseg < 500) return KATEGORIAK[0];
else if (utazosebesseg < 1000) return KATEGORIAK[1];
else if (utazosebesseg < 1200) return KATEGORIAK[2];
else return KATEGORIAK[3];
if (utazosebesseg < 1000) return KATEGORIAK[1];
if (utazosebesseg < 1200) return KATEGORIAK[2];
return KATEGORIAK[3];
}

public Sebessegkategoria(int utazosebesseg) {
Expand Down
15 changes: 4 additions & 11 deletions okj/rendszeruzemelteto/berek2020/python/Berek2020.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,10 @@ def __init__(self, line: str):
self.munkaBer = int(split[4])

with open('berek2020.txt', encoding = 'UTF-8') as file:
file.readline()

dolgozok = [ Dolgozo(k) for k in file.readlines() ]
dolgozok = [ Dolgozo(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Dolgozók száma: {len(dolgozok)}')

atlag_ber = mean(k.munkaBer for k in dolgozok)

print('4. Feladat: Átlagbér: %.2f' % (atlag_ber / 1000))
print('4. Feladat: Átlagbér: %.2f' % (mean(k.munkaBer for k in dolgozok) / 1000))

bekert_reszleg = input('5. Feladat: Írjon be 1 részleg nevet!')
legtobb_munkaberes = max((k for k in dolgozok if k.munkaReszleg == bekert_reszleg), key = lambda k: k.munkaBer, default = None)
Expand All @@ -33,7 +28,5 @@ def __init__(self, line: str):

print('7. Feladat:')

reszleg_stat = Counter(k.munkaReszleg for k in dolgozok)

for reszleg, db_szam in reszleg_stat.items():
print(f' {reszleg} - {db_szam} fő')
for reszleg, db in Counter(k.munkaReszleg for k in dolgozok).items():
print(f' {reszleg} - {db} fő')
4 changes: 2 additions & 2 deletions okj/rendszeruzemelteto/csudh_edu/python/Csudh.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ def domain(szint: int, domain: str):

return 'nincs' if utolsoIndex < szint else split[utolsoIndex - szint]


with open('csudh.txt') as file:
lines = file.readlines()
pairs = [ lines[i].split(';') for i in range(1, len(lines)) ]
pairs = [ k.split(';') for k in file.readlines()[1:] ]

print(f'3. Feladat: Párok száma: {str(len(pairs))}')
print('5. Feladat:')
Expand Down
15 changes: 7 additions & 8 deletions okj/rendszeruzemelteto/eucsatlakozas/python/EU.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
from datetime import date
from dataclasses import dataclass
from collections import Counter

@dataclass
class Csatlakozas:
orszag: str
datum: date

def __init__(self, line: str):
split = line.strip().split(';')

self.orszag = split[0]
self.datum = date.fromisoformat(split[1].replace('.', '-'))

with open('EUcsatlakozas.txt') as file:
csatlakozasok = [ Csatlakozas(k) for k in file.readlines() ]
create_csatlakozas = lambda split: Csatlakozas(split[0], date.fromisoformat(split[1].replace('.', '-')))
csatlakozasok = [ create_csatlakozas(k.strip().split(';')) for k in file.readlines() ]

print(f'3. Feladat: 2018-ig csatlakozott országok száma: {len(csatlakozasok)}')

Expand All @@ -26,6 +26,5 @@ def __init__(self, line: str):
utolso_csatlakozas = max((k for k in csatlakozasok), key = lambda k: k.datum)
print(f'7. Feladat: Utoljára csatlakozott: {utolso_csatlakozas.orszag}')

stat = Counter(k.datum.year for k in csatlakozasok)
for ev, db in stat.items():
for ev, db in Counter(k.datum.year for k in csatlakozasok).items():
print(f'{ev} - {db} ország')
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ def __init__(self, line: str):
self.valtozas = int(split[2])
self.pontszam = int(split[3])


with open('fifa.txt') as file:
lines = file.readlines()
eredmenyek = [ Eredmeny(lines[i]) for i in range(1, len(lines)) ]
eredmenyek = [ Eredmeny(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Csapatok száma: {len(eredmenyek)}')

Expand All @@ -26,7 +26,6 @@ def __init__(self, line: str):
print('6. Feladat: Csapatok között van Magyarország' if voltEMo else '6. Feladat: Csapatok között nincs Magyarország')
print('7. Feladat:')

stat = Counter(k.valtozas for k in eredmenyek)
for valtozas, dbSzam in stat.items():
if dbSzam > 1:
print(f' {valtozas} helyet változott: {dbSzam} csapat')
for valtozas, db in Counter(k.valtozas for k in eredmenyek).items():
if db > 1:
print(f' {valtozas} helyet változott: {db} csapat')
21 changes: 10 additions & 11 deletions okj/rendszeruzemelteto/hianyzasok/python/Hianyzasok.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
from dataclasses import dataclass
from itertools import groupby

@dataclass
class Hianyzas:
nev: str
osztaly: str
elsoNap: int
utolsoNap: int
mulasztottOrak: int

def __init__(self, line: str):
split = line.split(';')

self.nev = split[0]
self.osztaly = split[1]
self.elsoNap = int(split[2])
self.utolsoNap = int(split[3])
self.mulasztottOrak = int(split[4])

with open('szeptember.csv', encoding = "utf-8") as file:
file.readline()
hianyzasok = [ Hianyzas(k) for k in file.readlines() ]
with open('szeptember.csv', encoding = 'utf-8') as file:
create_hianyzas = lambda split: Hianyzas(split[0], split[1], int(split[2], int(split[3], int(split[4]))))
hianyzasok = [ create_hianyzas(k.split(';')) for k in file.readlines()[1:] ]

totalHianyzottOrak = sum(k.mulasztottOrak for k in hianyzasok)

Expand Down
1 change: 1 addition & 0 deletions okj/rendszeruzemelteto/hotellift/java/Lift.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.*;

public class Lift {

public static void main(String[] args) throws IOException {
var hasznalatok = new ArrayList<Hasznalat>();
var lines = Files.readAllLines(Path.of("lift.txt"));
Expand Down
1 change: 1 addition & 0 deletions okj/rendszeruzemelteto/hotellift/java/Lift_stream.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.stream.*;

public class Lift_stream {

public static void main(String[] args) throws IOException {
var hasznalatok = Files.lines(Path.of("lift.txt"))
.map(Hasznalat::new)
Expand Down
35 changes: 35 additions & 0 deletions okj/rendszeruzemelteto/hotellift/python/Lift.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from dataclasses import dataclass
from datetime import date
from collections import Counter

@dataclass
class Hasznalat:
idopont: date
kartya_sorszam: int
indulo_szint: int
celszint: int

def parse_int_or_default(num: str, default_value: int) :
try:
return int(num)
except ValueError:
return default_value


with open('lift.txt') as input_file:
create_hasznalat = lambda split: Hasznalat(date.fromisoformat(split[0].removesuffix('.').replace('.', '-')), int(split[1]), int(split[2]), int(split[3]))
hasznalatok = [ create_hasznalat(k.split(' ')) for k in input_file.readlines() ]

print(f'3. Feladat: Lift alkalmak száma: {len(hasznalatok)}')
print(f'4. Feladat: A korszak {hasznalatok[0].idopont}-től {hasznalatok[-1].idopont}-ig tartott')
print(f'5. Feladat: Max célszint: {max(k.celszint for k in hasznalatok)}')

be_kartya = parse_int_or_default(input('Írj be egy kártyaszámot: '), 5)
be_celszint = parse_int_or_default(input('Írj be egy célszintet: '), 5)
utaztak_e = any(k.kartya_sorszam == be_kartya and k.celszint == be_celszint for k in hasznalatok)

print(f'7. Feladat: A {be_kartya} kártyával {"" if utaztak_e else "nem"} utaztak a {be_celszint}. emeletre')
print('8. Feladat')

for ido, db in Counter(k.idopont for k in hasznalatok).items():
print(f'{ido} - {db}x')
26 changes: 26 additions & 0 deletions okj/rendszeruzemelteto/koridok/python/AutoVerseny.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from dataclasses import dataclass
from datetime import time

@dataclass
class Verseny:
csapat: str
versenyzo: str
eletkor: int
palya: str
korido: time
kor: int


with open('autoverseny.csv', encoding = 'utf-8') as input_file:
create_verseny = lambda split: Verseny(split[0], split[1], int(split[2]), split[3], time.fromisoformat(split[4]), int(split[5]))
versenyek = [ create_verseny(k.split(';')) for k in input_file.readlines()[1:] ]

print(f'3. Feladat: Adatsorok száma: {len(versenyek)}')

kivalasztott = next(k for k in versenyek if k.versenyzo == 'Fürge Ferenc' and k.palya == 'Gran Prix Circuit' and k.kor == 3).korido
print(f'4. Feladat: {(kivalasztott.hour * 60 + kivalasztott.minute) * 60 + kivalasztott.second} mp')

be_nev = input('5. Felatad: Írj be egy nevet: ')
be_versenyzo_korido = min((k.korido for k in versenyek if k.versenyzo == be_nev), default = None)

print(f'6. Feladat: {be_versenyzo_korido}' if be_versenyzo_korido != None else '6. Feladat: Nincs ilyen versenyző')
12 changes: 5 additions & 7 deletions okj/rendszeruzemelteto/schumacher/python/Schumacher.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ def __init__(self, line: str):
self.csapat = split[5]
self.vegeredmenyStatusz = split[6].strip()


with open('schumacher.csv') as file:
lines = file.readlines()
eredmenyek = [ Eredmeny(lines[i]) for i in range(1, len(lines)) ]
eredmenyek = [ Eredmeny(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Adatsorok száma: {len(eredmenyek)}')
print('4. Feladat:')
Expand All @@ -27,8 +27,6 @@ def __init__(self, line: str):

print('5. Feladat:')

celbaeres_stat = Counter(k.vegeredmenyStatusz for k in eredmenyek if k.helyezes == 0)

for statusz, dbSzam in celbaeres_stat.items():
if dbSzam > 2:
print(f' {statusz}: {dbSzam}')
for statusz, db in Counter(k.vegeredmenyStatusz for k in eredmenyek if k.helyezes == 0).items():
if db > 2:
print(f' {statusz}: {db}')
7 changes: 3 additions & 4 deletions okj/rendszeruzemelteto/snooker/python/Snooker.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ def __init__(self, line: str):
self.orszag = split[2]
self.nyeremeny = int(split[3])


with open('snooker.txt') as file:
lines = file.readlines()
versenyzok = [ Versenyzo(lines[i]) for i in range(1, len(lines)) ]
versenyzok = [ Versenyzo(k) for k in file.readlines()[1:] ]

print(f'3. Feladat: Versenyzők száma: {len(versenyzok)}')

Expand All @@ -27,7 +27,6 @@ def __init__(self, line: str):
print(f'6. Feladat: {"Van" if voltNorveg else "Nincs"} norvég játékos')
print('7. Feladat:')

stat = Counter(k.orszag for k in versenyzok)
for orszag, db in stat.items():
for orszag, db in Counter(k.orszag for k in versenyzok).items():
if db > 4:
print(f'{orszag}: {db} fő')
7 changes: 3 additions & 4 deletions okj/szoftverfejleszto/acb_kosarlabdaliga/python/Kosar2004.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ def __init__(self, line: str):
self.helyszin = split[4]
self.idopont = date.fromisoformat(split[5].strip())


with open('eredmenyek.csv') as file:
lines = file.readlines()
eredmenyek = [ Eredmeny(lines[i]) for i in range(1, len(lines)) ]
eredmenyek = [ Eredmeny(k) for k in file.readlines()[1:] ]

hazaiMadridDb = sum(1 for k in eredmenyek if k.hazaiCsapat == 'Real Madrid')
idegenMadridDb = sum(1 for k in eredmenyek if k.idegenCsapat == 'Real Madrid')
Expand All @@ -36,7 +36,6 @@ def __init__(self, line: str):

print('7. Feladat:')

stat = Counter(k.helyszin for k in eredmenyek)
for helyszin, db in stat.items():
for helyszin, db in Counter(k.helyszin for k in eredmenyek)():
if db > 20:
print(f' {helyszin}: {db}')
Loading

0 comments on commit caf26ce

Please sign in to comment.