2025-11-10

Python Lottószám variációk részletesebb elemzése. 3 rész. Az 1 és a 2 részhez kód.

 A Skandináv Lottószám variációkhoz.

class SkandiKiertekeles:
"""A biztos találathoz mind a hét húzott számnak benne kell lenni
abban a számlistában, amelyből a szelvények is készültek!"""
def __init__(self, megjatszott, huzas1, huzas2):
# 2D listában
self.megjatszott_szelvenyek = megjatszott
# listában
self.huzas1 = huzas1
# listában
self.huzas2 = huzas2

self.talalatokat_kap(self.megjatszott_szelvenyek, self.huzas1)
self.talalatokat_kap(self.megjatszott_szelvenyek, self.huzas2)

@staticmethod
def talalatokat_kap(megjatszott_szelvenyek, huzas):
"""Találatok keresése és megjelenítése.
"""
nullas = 0
egyes = 0
kettes = 0
harmas = 0
negyes = 0
otos = 0
hatos = 0
hetes = 0

for m_szelveny in megjatszott_szelvenyek:
talalat = len(set(m_szelveny) & set(huzas))
if talalat == 0:
nullas += 1
elif talalat == 1:
egyes += 1
elif talalat == 2:
kettes += 1
elif talalat == 3:
harmas += 1
elif talalat == 4:
negyes += 1
elif talalat == 5:
otos += 1
elif talalat == 6:
hatos += 1
elif talalat == 7:
hetes += 1

print(f'Húzási szelvény: {huzas}')
print(f'{nullas=} db\n'
f'{egyes=} db\n'
f'{kettes=} db\n'
f'{harmas=} db\n'
f'{negyes=} db\n'
f'{otos=} db\n'
f'{hatos=} db\n'
f'{hetes=} db\n')


jatekba_kuldott_szelvenyek = [
[1, 2, 3, 4, 5, 6, 7],
[8, 9, 10, 11, 12, 13, 14],
[1, 2, 8, 15, 16, 17, 18],
[3, 4, 9, 10, 15, 16, 17],
[5, 6, 7, 11, 12, 13, 18],
[5, 6, 7, 14, 15, 16, 17],
[1, 2, 3, 4, 9, 14, 18],
[1, 2, 3, 4, 11, 12, 13],
[3, 4, 5, 6, 8, 10, 18],
[1, 2, 7, 8, 9, 10, 11],
[1, 10, 12, 13, 14, 15, 16],
[2, 8, 11, 12, 13, 14, 17],
[5, 6, 8, 9, 12, 13, 18],
[3, 4, 7, 10, 11, 14, 18],
[1, 2, 8, 9, 11, 15, 16]
]

kezi_huzas = [1,3,7,8,10,17,18]
gepi_huzas = [2,4,6,8,10,12,14]

if __name__ == '__main__':
SkandiKiertekeles(jatekba_kuldott_szelvenyek, kezi_huzas, gepi_huzas)
# Layco