是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模块?
有人可以按正确的方向给我一点微调,以便我知道我应该研究的内容。
我认为您做得还可以。如果我理解正确,那么按团队对球员进行排序的算法是否存在问题?您可以阅读和修改this algorithm