Az ajto.txt fájlban számsorozatok találhatók, amelyekkel egy nyomógombos ajtózárat próbáltak meg kinyitni (minden sorban egy próbálkozás). Olvasd be és tárold el a fájl tartalmát! Írasd ki a képernyőre, hogy melyik az az egy sorozat, amelyik hossza eltér a többitől! Jelenítsd meg a képernyőn, hogy melyik számsorozatot próbálták a legtöbbször!
Minta:
Eltérő hosszúságú sorozat: 2393451
A leggyakoribb sorozat: 239451
fajl = open('ajto.txt')
adatok = fajl.read().splitlines()
fajl.close()
# Az eltérő hosszúságút úgy határozzuk meg, hogy megnézzük, mennyi van az
# egyes hosszakból, és amelyikből csak egy, annak az indexét kiválasztjuk
# a hosszak listája:
hosszak = [len(adat) for adat in adatok]
# előforduló hosszak:
halmaz = set(hosszak)
# melyik hosszból mennyi van:
mennyi = [[hossz,hosszak.count(hossz)] for hossz in halmaz]
# melyik hosszból van csak 1 darab; ez egy tömb, az első elemét kell venni, azért van a [0] a végén
kilogo_hossz = [adat[0] for adat in mennyi if adat[1]==1][0]
# melyik sorozat hossza annyi, mint a kilógó hossz:
kilogo = [adat for adat in adatok if len(adat)==kilogo_hossz][0]
print('Eltérő hosszúságú sorozat:',kilogo)
# Megnézzük, milyen sorozatok vannak és melyiket hányszor próbálták,
# meghatározzuk a próbálkozások számának a maximumát és kiíratjuk a hozzá tartozó sorozatot:
halmaz = set(adatok)
# melyik adat hányszor fordul elő:
hanyszor = [[adat,adatok.count(adat)] for adat in halmaz]
# az előfordulások maximuma:
max_hanyszor = max([adat[1] for adat in hanyszor])
max_sorozat = [adat for adat in hanyszor if adat[1]==max_hanyszor][0][0]
print('A leggyakoribb sorozat:',max_sorozat)