也许你正在寻找这样的东西:
import random
persons = ['Adan', 'Boris', 'Carla', 'Dora', 'Ernesto', 'Floridalma', 'Gustavo', 'Hugo', 'Ines', 'Juan']
random.shuffle (persons)
count = int(input('How many teams? '))
teams = [persons[i::count] for i in range(count)]
for idx, team in enumerate(teams):
print ('Team {}: {}'.format(idx + 1, ', '.join(team)))
的内容person
不需要是字符串,它可以包含自定义Person
类的实例或您喜欢的任何内容。
解释:
填充要从中选择的列表。
将其随机播放到位。
提示用户输入团队的数量并将输入转换为整数。
创建团队。person[i::count]
从索引 i 开始的 people 中选择每个 count-th 元素。因此,如果例如计数为 3,则在第一个团队中是(洗牌的)索引 0、3、6 等,在第二个团队中是 1、4、7 等,等等。
打印它。
一般的切片符号是iterable[start:stop:step]
.
或者如果你想使用字典,你可以使用字典理解:
teams = {'Team{}'.format(i + 1): persons[i::count] for i in range(count)}
for k, v in teams.items():
print ('{}: {}'.format(k, ', '.join(v) ) )