Создайте команду из 11 игроков из 22 игроков из двух команд

Я новичок в python, и я пытаюсь создать решение для оператора.

  1. Две команды играют друг против друга.
  2. В каждой команде по 11 игроков, всего 22 игрока.
  3. Из 22 игроков нужно выбрать только 11 игроков.
  4. Теперь из выбранных 11 игроков один может быть капитаном, а другой — вице-капитан.

Мы можем прочитать имя игрока из Excel.

Решение состоит в том, чтобы ввести имена всех 22 игроков и отобразить все команды (11 игроков) с капитаном и вице-капитаном.

Здесь я могу создать случайную команду из 22 игроков, но вышеупомянутые ограничения соблюдены.

import random

def get_random_player(players):
    return players.pop(random.randrange(len(players)))

team_1 = []
players = ["Rahul","Virat","Sachin","King"] //22 players

for x in range(len(players) // 2):
   team_1.append(get_random_player(players))


print(team_1)

Пример :

Team 1 :
Team1_Palyer1
Team1_Palyer2
Team1_Palyer3
Team1_Palyer4
Team1_Palyer5
Team1_Palyer6
Team1_Palyer7
Team1_Palyer8
Team1_Palyer9
Team1_Palyer10
Team1_Palyer11


Team 2 :
Team2_Palyer1
Team2_Palyer2
Team2_Palyer3
Team2_Palyer4
Team2_Palyer5
Team2_Palyer6
Team2_Palyer7
Team2_Palyer8
Team2_Palyer9
Team2_Palyer10
Team2_Palyer11

Output :

Team1_Palyer1
Team2_Palyer1
Team1_Palyer3(c)
Team2_Palyer5
Team1_Palyer5
Team2_Palyer6
Team2_Palyer7(vc)
Team1_Palyer4
Team2_Palyer9
Team2_Palyer10
Team1_Palyer10

Здесь у нас есть 5 игроков из команды 1 и 6 игроков из команды 2. Team1_Palyer3 назначен капитаном, а Team2_Palyer7 — вице-капитаном.

Нужно отображать все команды, которые можно создать.

🤔 А знаете ли вы, что...
Python обладает обширной документацией и активным сообществом разработчиков.


426
1

Ответ:

Решено

Как создать сколько 11 игроков Команда может быть создана из 22 игроков. можно использовать формулу комбинаций сколько будет создана команда

22C11 = 22! / (11! * (22-11)!) = 705,432

Всего будет создано 705 432 команды.

Код:

import itertools

players = ['Team1_Player1', 'Team1_Player2', 'Team1_Player3', 'Team1_Player4', 'Team1_Player5', 'Team1_Player6', 'Team1_Player7', 'Team1_Player8', 'Team1_Player9', 'Team1_Player10', 'Team1_Player11', 'Team2_Player1', 'Team2_Player2', 'Team2_Player3', 'Team2_Player4', 'Team2_Player5', 'Team2_Player6', 'Team2_Player7', 'Team2_Player8', 'Team2_Player9', 'Team2_Player10', 'Team2_Player11']

team_combinations=list(itertools.combinations(players, 11))
print(len(team_combinations)) #705432

#To print the team.
"""
for i,team in enumerate(team_combinations, start=1):
    print(f"Team {i}:")
    for player in team:
        print(player)
"""

Примечание. Просто неясно, как вы создали капитана и вице-капитана своей команды, поэтому он отсутствует.