我 60名学生需要分成 12个团队。团队应按
实现这一目标的有效方法是什么?
我已经尝试了一个包含9个学生的示例数据列表,应该分成3个小组:
A: Adam, Male, Sweden
B: Bob, Male, Norway
C: Charlie, Female, Denmark
D: David, Male, Denmark
E: Erica, Female, Sweden
F: Frida, Female, Norway
G: Gunnar, Male, Denmark
H: Hans, Male, Norway
I: Anna, Female, Sweden
我想也许有一种方法可以先按国籍排序:
AEIBFHCDG
然后按n + 3按国籍创建均匀分布的团队:
ABC
EFD
IHG
然后对角线进行第二次迭代:
AFG
BDI
CEH
但并不是真的比这更进一步。关于我应该采用什么方法的任何想法?
答案 0 :(得分:0)
我认为你应该首先决定一个团队在分享性别或国籍方面更重要的事情。如果您认为性别更重要,请使用Python执行以下操作:
# todo: read in input
number_of_teams = 12
sorted_students = sorted(input) # todo: use your own comparator
team_list = [[] for _ in xrange(number_of_teams)] # create a list of 12 teams
# a team is modelled as a list
for i, student in enumerate(sorted_students):
team_list[i % number_of_teams].append(student)