最佳结果的总和评级

Overall sum rating with best outcome

我有一个系统可以将 4 人随机分组,然后对他们进行评分:

import numpy
import math
import random
for i in range(1):
  # everything is in, see the indentation
  members=4
  n_groups =4
  participants=list(range(1,members+1))*n_groups
  #print participants 
  random.shuffle(participants)

  with open('myfile1.txt','w') as tf:
      for i in range(n_groups):
          group = participants[i*members:(i+1)*members]
          for participant in group:
              tf.write(str(participant)+' ')
          tf.write('\n')

  with open('myfile1.txt','r') as tf:
      g = [list(map(int, line.split())) for line in tf.readlines()]
      print(g)




  my_groups =g

  def get_rating(group):
      return len(set(group))

  for each_grp in my_groups:  
      print((get_rating(each_grp)))

这给出了输出:

[[1, 3, 2, 1], [4, 4, 3, 3], [2, 2, 1, 3], [1, 4, 4, 2]]
3
2
3
3

有什么方法可以将 4 个评分相加以获得总分?就像在这种情况下 (3+2+3+3)=11,如果我改变: 对于我在范围内(1): 这改变了它这样做的循环量: 对于我在范围内(5): 运行 代码 5 次会得到不同的结果,是否有代码可以从 5 次试验中找到最佳总分?

基本上有什么我可以用来总结 4 个评分的东西,然后如果重复,它能从所有重复中选出最好的总分吗?

保持 运行 总数:

total = 0
for each_grp in my_groups:
    c = get_rating(each_grp)
    total += c
    print(c)

您可以使用原始 list 并使用生成器 sum 提升 setlen:

>>> sum(get_rating(each_grp) for each_group in my_groups)
11