【发布时间】:2021-03-13 18:01:02
【问题描述】:
我想创建一个程序,用户可以在其中输入他们想要的组的最大大小。这些组由提交表单中的名称列表组成。这个想法是有多个轮次,其中名称以请求的最大组大小配对,并且每轮都不会创建先前形成的组。此外,任何人都不应被排除在外,因此不能以 1 人为一组。
我有两个问题:首先:如果我有一个包含 10 个名称的列表并且我输入我想要 3 人的最大大小组,我会得到 3 组 3 人和 1 人中的 1 人,但它应该是 3, 3, 2, 2. 我使用了在这里找到的两个不同的函数,但都存在相同的问题。
其次,我不知道如何确保在新一轮中不会有上一轮的任何组。
我对编程很陌生,所以欢迎任何提示。 这是我拥有的第一个功能:
members = group_size()
def teams(amount, size):
for i in range(0, len(amount), size):
yield amount[i:i + size]
participants = Row_list_names
random.shuffle(participants)
print("These are your groups:")
print(list(teams(participants, members)))
这是第二个:
members = group_size()
participants = Row_list_names
random.shuffle(participants)
for i in range(len(participants) // members + 1):
print('Group {} consists of:'.format(i+1))
group = participants[i*members:i*members + members]
for participant in group:
print(participant)
group_size() 返回一个整数,表示组中应该有多少人。
【问题讨论】:
标签: python-3.x list random unique