#1 by Clairon
Hi ,
In my projet, i have two applications [survey,compet]. In survey, i ask for the participant gender.
In the app compet, i would like to do group of 6 with 3 men and 3 women.
I've tried to design a waitingpage as first page of app compet and redefined the groups in the fonction after_all_players_arrive but so far i have a lot of errors.
The code i have for this function is at the end of the message
Best regards,
Clairon
class test(WaitPage):
wait_for_all_groups = True
@staticmethod
def after_all_players_arrive(subsession : Subsession):
group_men=[]
group_women=[]
#Separate two groups men and women
for g in subsession.get_groups():
for p in g.get_players():
if p.participant.gender == 'Male':
p.gender= 'Male'
group_men.append(p)
else :
p.gender= 'Female'
group_women.append(p)
group = []
# Déterminer la longueur de la liste la plus longue
max_len = max(len(group_men), len(group_women))
# Parcourir les deux listes simultanément
for i in range(max_len):
# Ajouter un élément de la liste des hommes si disponible
if i < len(group_men):
group.append(group_men[i])
# Ajouter un élément de la liste des femmes si disponible
if i < len(group_women):
group.append(group_women[i])
nb_group=int(len(group)/C.PLAYERS_PER_GROUP)
for i in range(1,2):
for j in range(1,C.PLAYERS_PER_GROUP+1):
player=group[(i-1)*C.PLAYERS_PER_GROUP+(j-1)]
player.id_in_group=j
player.group.id=i
#2 by ChristianK
Hi Clairon, Would you mind posting the tracelog / errors you get? Best, Christian