建立平衡的团队

问题描述 投票:1回答:1

是python的新手,我正在尝试创建一个允许用户执行以下操作的程序:

  • 输入玩家总数

  • 输入队数

  • 输入每个玩家的名字

  • 输入每个玩家的等级

  • 然后程序将迭代所有组合的团队,以最小化每个团队的总排名之和的差异,同时将具有相同数量的玩家的团队进行划分。

  • 输出应该是每个团队的球员及其等级的总和。

到目前为止,这是我的代码:

players = {}

print('Please enter the total amount of players:') #To enter number of players

while True:

   try:
     numPlayers = int(input())

   except ValueError:
     print('Error, please enter a number')

   else: 
     break



 print('Please enter the total number of teams: ') # to enter number of
 teams

 while True:
   try:
    numTeams = int(input())
   except ValueError:
    print('Error, please enter a number')
   else:
    break

 for i in range(numPlayers):                 # To enter each players name and rank

   k = input('Please enter players name: ')

   val = input('Please enter ' + k + "'s rank: ")

   players[k] = val

基本上,输入内容存储在名为玩家的字典中,最终结果如下:

玩家= {'玩家1':5,'玩家2':4,'玩家3':1,.......}

我已经尝试了好几天,但没有成功,是否有能够执行此操作的python模块?

有人可以按正确的方向给我一点微调,以便我知道我应该研究的内容。

python python-3.x
1个回答
0
投票

我认为您做得还可以。如果我理解正确,那么按团队对球员进行排序的算法是否存在问题?您可以阅读和修改this algorithm

© www.soinside.com 2019 - 2024. All rights reserved.