Текущий выход
Код: Выделить всё
Combination 1: Rutgers (93), Baylor (93), Orlando (96), Dublin (96), Spokane (96)
Combination 2: Rutgers (89), Baylor (90), Orlando (90), Dublin (85), Spokane (85)
Код: Выделить всё
COMBINATION 2: Trenton (89), Alabama (93), Orlando (96), Atlanta (96), Chicago (90)
COMBINATION 3: Rutgers (89), Baylor (93), Miami (96), Atlanta (85), SFO (90)
COMBINATION 4: Alabama (89), Trenton (93), Dublin (96), Chicago (96), Seattle (90)
COMBINATION 5: Baylor (89), Rutgers (93), SFO (96), Seattle (96), Trenton (90)
COMBINATION 6: Orlando (89), Atlanta (93), Spokane (96), Trenton (96), Alabama (85)
.
.
.
.
-У команды должны быть разные точки в соответствии с point_constraints,
Пример
Код: Выделить всё
COMBINATION 2: Trenton (89), Alabama (93), Orlando (96), Atlanta (96), Chicago (90)
COMBINATION 3: Rutgers (89), Baylor (93), Miami (96), Atlanta (85), SFO (90)
-5 комбинаций команд
Критерии -
Критерии комбинаций соответствуют следующим правилам:
- Выбор команды из разных наборов:
< /ol>
Вы выбираете по одной команде из каждого набора (A, B, C, D, E, J) для каждой комбинации. Каждая команда в комбинации должна быть из разных наборов, и ни одна команда не должна повторяться в одной и той же комбинации. - Ограничения по очкам:< /li>
Ограничения:
- "89": (0, 1) — Эта оценка может появляться в комбинации 0 или 1 раз.
- "93": (0, 1) — Эта оценка может появляться в комбинации 0 или 1 раз.
"96": (0, 2) — этот показатель может появляться 0, 1 или 2 раза в комбинации. - "85": ( 0, 1) — Этот счет может появляться в комбинации 0 или 1 раз.
- "90": (0, 1) — Этот счет может появляться в комбинации 0 или 1 раз.
- Размер комбинации:
- Устранение использованных очков:< /li>
- Повторите процесс:
КОД
Код: Выделить всё
from itertools import combinations, product
import random
# Define the teams and scores for each set
sets = {
"set_A": {
"Trenton": ["93", "96", "89", "90", "85"],
"Rutgers": ["93", "96", "89", "90", "85"],
},
"set_B": {
"Alabama": ["93", "96", "89", "90", "85"],
"Baylor": ["93", "96", "89", "90", "85"],
},
"set_C": {
"Orlando": ["93", "96", "89", "90", "85"],
"Miami": ["93", "96", "89", "90", "85"],
},
"set_D": {
"Atlanta": ["93", "96", "89", "90", "85"],
"Dublin": ["93", "96", "89", "90", "85"],
},
"set_E": {
"Chicago": ["93", "96", "89", "90", "85"],
"SFO": ["93", "96", "89", "90", "85"],
},
"set_J": {
"Seattle": ["93", "96", "89", "90", "85"],
"Spokane": ["93", "96", "89", "90", "85"],
}
}
# Define the score constraints (min, max) allowed for each score
score_constraints = {
"89": (0, 1),
"93": (0, 1),
"96": (0, 2),
"85": (0, 1),
"90": (0, 1),
}
# Function to count score occurrences in a combination
def count_score_occurrences(selected_scores, score_constraints):
score_counts = {score: 0 for score in score_constraints}
for score in selected_scores:
if score in score_counts:
score_counts[score] += 1
return score_counts
# Function to validate if a combination meets the score constraints
def is_valid_combination(score_counts, score_constraints):
return all(min_count
Подробнее здесь: [url]https://stackoverflow.com/questions/79043611/unable-to-generate-the-combination-x-and-combination-y-using-python[/url]