def sorteia(alunos, N):
"""
Sorteia grupos de N alunos
"""
# Embaralha a lista de alunos
random.shuffle(alunos)
# De quantas pessoas são os grupos
grupos_de = N
# Divide a lista de alunos em listas de 3 nomes
grupos = [alunos[i:i + grupos_de]
for i in range(0, len(alunos), grupos_de)]
return grupos
def cria_grupos(fname, N):
"""
Lê os alunos do arquivo, sorteia os grupos e imprime o resultado
"""
with open(fname) as f:
alunos = [l.strip() for l in f.readlines()]
grupos = sorteia(alunos, N)
# Imprime os nomes de cada grupo
for i, grupo in enumerate(grupos):
nomes = ' | '.join(grupo).title()
print('{}.'.format(i + 1), nomes)
print()