Невозможно сгенерировать комбинацию x и комбинацию y с помощью PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно сгенерировать комбинацию x и комбинацию y с помощью Python

Сообщение Anonymous »

Невозможно создать желаемую комбинацию 2 и комбинацию 5
Текущий выход

Код: Выделить всё

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)
-Выбирайте только 1 команду из каждого набора
-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 раз.
  • Размер комбинации:
Каждая комбинация должна состоять из 5 команд, по одной из каждого набора, с соответствующими очками.
  • Устранение использованных очков:< /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]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»