Feladat; A skandináv lottó kézi sorsolásának nyerőszámait láthatod itt időrendben, írj egy programot pythonban, ami kiválasztja azt a 7 számot amit a legrégebben húztak;
Megoldás;
draws = [
[15, 17, 22, 24, 25, 27, 33],
[8, 12, 13, 17, 18, 32, 33],
[1, 2, 9, 11, 18, 29, 30],
[8, 15, 23, 25, 26, 30, 34],
[2, 4, 8, 11, 26, 27, 28],
[7, 12, 16, 25, 30, 32, 33],
[2, 4, 12, 21, 25, 30, 33],
[9, 14, 15, 17, 19, 21, 23],
[7, 10, 17, 20, 22, 23, 29],
[1, 7, 10, 18, 20, 22, 35],
[1, 3, 7, 17, 19, 21, 28],
[5, 24, 25, 27, 31, 32, 33],
[2, 7, 9, 11, 21, 30, 31],
]
last_seen = {}
for i, row in enumerate(draws):
for n in row:
if n not in last_seen:
last_seen[n] = i
sorted_numbers = sorted(last_seen.items(), key=lambda x: (x[1], x[0]))
result = [n for n, _ in sorted_numbers[:7]]
print(result)
-----------------------
# -*- coding: utf-8 -*-
# A Skandináv lottó kézi sorsolásának nyerőszámait láthatod itt időrendben.
# A program kiválasztja azt a 7 számot, amelyeket a legrégebben húztak.
draws_raw = """15, 17, 22, 24, 25, 27, 33
8, 12, 13, 17, 18, 32, 33
1, 2, 9, 11, 18, 29, 30
8, 15, 23, 25, 26, 30, 34
2, 4, 8, 11, 26, 27, 28
7, 12, 16, 25, 30, 32, 33
2, 4, 12, 21, 25, 30, 33
9, 14, 15, 17, 19, 21, 23
7, 10, 17, 20, 22, 23, 29
1, 7, 10, 18, 20, 22, 35
1, 3, 7, 17, 19, 21, 28
5, 24, 25, 27, 31, 32, 33
2, 7, 9, 11, 21, 30, 31
2, 4, 12, 21, 25, 30, 33
9, 14, 15, 17, 19, 21, 23
7, 10, 17, 20, 22, 23, 29
1, 7, 10, 18, 20, 22, 35
1, 3, 7, 17, 19, 21, 28
5, 24, 25, 27, 31, 32, 33
2, 7, 9, 11, 21, 30, 31
2, 5, 6, 8, 9, 14, 33
3, 12, 13, 14, 15, 21, 26
5, 8, 9, 13, 16, 22, 27
2, 3, 5, 19, 26, 27, 28
5, 15, 22, 23, 28, 32, 33
7, 8, 10, 14, 15, 27, 31
11, 17, 18, 25, 26, 29, 35
2, 10, 13, 16, 17, 27, 34
4, 5, 10, 15, 22, 30, 35
5, 12, 13, 18, 24, 25, 35
1, 5, 9, 14, 26, 28, 30
1, 9, 10, 16, 20, 29, 33
6, 9, 17, 22, 25, 28, 34
5, 6, 15, 16, 18, 27, 33
4, 7, 14, 21, 23, 24, 33""".splitlines()
# A sorsolások feldolgozása
all_draws = []
for line in draws_raw:
cleaned_line = line.replace(' ', '').strip()
numbers = list(map(int, cleaned_line.split(',')))
all_draws.append(numbers)
# Minden számra tároljuk az első sorsolás indexét (azt, hogy melyik körben húzták legrégebben)
first_occurrence = {}
for draw_idx, draw in enumerate(all_draws):
for num in draw:
if num not in first_occurrence:
first_occurrence[num] = draw_idx
# A legrégebben húzott 7 szám (legkorábban megjelenők)
earliest = sorted(first_occurrence.keys(), key=lambda x: first_occurrence[x])[:7]
# Eredmény kiírása
print("A legrégebben húzott 7 szám:", sorted(earliest))
-------------------
----------------------
# -*- coding: utf-8 -*-
# A Skandináv lottó kézi sorsolásának nyerőszámait láthatod itt időrendben.
# A program kiválasztja azt a 7 számot, amelyeket a legrégebben húztak.
draws_raw = """15, 17, 22, 24, 25, 27, 33
8, 12, 13, 17, 18, 32, 33
1, 2, 9, 11, 18, 29, 30
8, 15, 23, 25, 26, 30, 34
2, 4, 8, 11, 26, 27, 28
7, 12, 16, 25, 30, 32, 33
2, 4, 12, 21, 25, 30, 33
9, 14, 15, 17, 19, 21, 23
7, 10, 17, 20, 22, 23, 29
1, 7, 10, 18, 20, 22, 35
1, 3, 7, 17, 19, 21, 28
5, 24, 25, 27, 31, 32, 33
2, 7, 9, 11, 21, 30, 31
2, 4, 12, 21, 25, 30, 33
9, 14, 15, 17, 19, 21, 23
7, 10, 17, 20, 22, 23, 29
1, 7, 10, 18, 20, 22, 35
1, 3, 7, 17, 19, 21, 28
5, 24, 25, 27, 31, 32, 33
2, 7, 9, 11, 21, 30, 31
2, 5, 6, 8, 9, 14, 33
3, 12, 13, 14, 15, 21, 26
5, 8, 9, 13, 16, 22, 27
2, 3, 5, 19, 26, 27, 28
5, 15, 22, 23, 28, 32, 33
7, 8, 10, 14, 15, 27, 31
11, 17, 18, 25, 26, 29, 35
2, 10, 13, 16, 17, 27, 34
4, 5, 10, 15, 22, 30, 35
5, 12, 13, 18, 24, 25, 35
1, 5, 9, 14, 26, 28, 30
1, 9, 10, 16, 20, 29, 33
6, 9, 17, 22, 25, 28, 34
5, 6, 15, 16, 18, 27, 33
4, 7, 14, 21, 23, 24, 33""".splitlines()
# A sorsolások feldolgozása
all_draws = []
for line in draws_raw:
cleaned_line = line.replace(' ', '').strip()
numbers = list(map(int, cleaned_line.split(',')))
all_draws.append(numbers)
# Minden számra tároljuk az első sorsolás indexét (azt, hogy melyik körben húzták legrégebben)
first_occurrence = {}
for draw_idx, draw in enumerate(all_draws):
for num in draw:
if num not in first_occurrence:
first_occurrence[num] = draw_idx
# A legrégebben húzott 7 szám (legkorábban megjelenők)
earliest = sorted(first_occurrence.keys(), key=lambda x: first_occurrence[x])[:7]
# Eredmény kiírása
print("A legrégebben húzott 7 szám:", sorted(earliest))
---------------
magyar karakterrel
# -*- coding: utf-8 -*- magyar
file beolnasása
with open('adatok.txt', 'r', encoding='utf-8') as fajl: tartalom = fajl.read() print(tartalom)
Az adatok alapján mely számoknak van a legnagyobb valószinüsége, hogy a következő sorsoláson kihuzzákA Skandnáv lottó esetén minden számnak matematikailag szabálya a valószínűsége , hogy a következő sorsoláson kihúzzák (a szerint minden szám független, minden húzásnál minden számot “újra keverik”). Viszont a talált adatok alapján modellezhetsz egy heurisztikát : pl. azt mondhatjuk, hogy a leggyakrabban előforduló számoknak „pszichológiai” vagy statisztikai szempontból nagyobb az esélye, hogy újra előkerülnek, de ez nem jelent valódi valószínűség-növekedést.scribd+1
Mit mutatnak az adatok?
A korábban ajánlott sorsolások alapján számolgatja a leggyakrabban előforduló számokat (a legtöbbször kihúzottak) a következők közül:
•24, 25, 27, 30, 33 nagyon sokszor szerepelnek (10–13-szor körül).
•2, 5, 7, 9, 17, 21, 22, 23, 26, 31, 32 is gyakran, de valamivel ritkábban.
Ha azt a kérdést értelmezték, hogy mely számoknak a „legnagyobb esélye” van újra kihúzásra a statisztikai minta alapján , a válasz a választás alapján:
•24, 25, 27, 30, 33 – a legtöbb szélsőségesen gyakori szám ebben a sorsolási listában.
•Ezen belül a 25, 27, 30, 33 rendkívül stabilan gyakoriak.
Figyelmeztetés fontos statisztikai értelemben
•A lottó valóban emlékezetmentes : a múltbeli húzások nem befolyásolják a jövőbeni számokat.index
•A „legnagyobb valószínűség” csak abban az értelemben értelmezhető, ha hiszünk abban, hogy a lottó nem teljesen véletlen, vagy ha pszichológiai / játékstratégiai szempontból szeretnénk „nagyobb eséllyel játszani”.
------------------
A legrégebben kihúzott 18 számból véletlenszerüen generál 7 számot a program;