【发布时间】:2010-10-12 18:48:08
【问题描述】:
考虑到 15 名球员——2 名守门员、5 名后卫、5 名中场球员和 3 名前锋,并且每个球员都有价值和得分,我想用我的钱计算得分最高的球队。每支球队必须由 1 个 GK 组成,然后是一个阵型,例如4:4:2、4:3:3 等。我从这样的示例数据开始
玩家角色点数花费
然后我执行以下操作来评估所有组合
将每一行读入一个列表(针对每个角色),然后在嵌套运行中使用 itertools 来获取所有组合
if line[1] == "G": G.append(line[0])
if line[1] == "D": D.append(line[0])
if line[1] == "M": M.append(line[0])
if line[1] == "S": S.append(line[0])
for gk in itertools.combinations(G,1):
for de in itertools.combinations(D,4):
for mi in itertools.combinations(M,4):
for st in itertools.combinations(S,2):
teams[str(count)]= " ".join(gk)+" "+" ".join(de)+" "+" ".join(mi)+" "+" ".join(st)
count +=1
获得团队后,我会计算他们的积分值和团队成本。如果它低于阈值,我打印它。
但如果我现在让这 20 名守门员、150 名后卫、150 名中场和 100 名前锋组成,我可以理解为失忆了。
我能做些什么来执行这个分析?它是我需要的生成器而不是递归函数吗?
非常感谢
【问题讨论】:
标签: python statistics