27 lines
743 B
Python
Executable File
27 lines
743 B
Python
Executable File
import random
|
|
from collections import Counter
|
|
from .models import LottoDraw
|
|
|
|
def recommend_numbers(top_n=20):
|
|
from .models import LottoDraw
|
|
from collections import Counter
|
|
import random
|
|
|
|
draws = LottoDraw.objects.all()
|
|
numbers = []
|
|
|
|
for draw in draws:
|
|
numbers += [draw.number_1, draw.number_2, draw.number_3,
|
|
draw.number_4, draw.number_5, draw.number_6]
|
|
|
|
if len(numbers) < 6:
|
|
return ["데이터 부족"] # 혹은 랜덤 추첨 ['??', '??', ...]
|
|
|
|
freq = Counter(numbers)
|
|
hot_numbers = [num for num, _ in freq.most_common(top_n)]
|
|
|
|
if len(hot_numbers) < 6:
|
|
return ["데이터 부족"]
|
|
|
|
return sorted(random.sample(hot_numbers, 6))
|