import random treatments = ["random", "merit", "patronage"] remaining_treatments = list(range(len(treatments))) # integer array keeping track of remaining treatments that are unassigned num_test = 30 while num_test != 0: if not remaining_treatments: # Case when remaining_treatments list is empty -> meaning all treatments have been already been assigned once before print("\n") remaining_treatments = list(range(len(treatments))) # resetting the list random_treatment_index = random.choice(remaining_treatments) group_treatment = treatments[random_treatment_index] print('set condition to', group_treatment) remaining_treatments.remove(random_treatment_index) num_test -= 1