|
发表于 2020-11-26 22:32:21
|
显示全部楼层
- from random import shuffle
- students = [['No.' + str(i), 1 if i <= 22 else 0] for i in range(1, 45)]
- while True:
- groups = []
- shuffle(students)
- for i in range(7):
- if i >= 5:
- groups.append(students[30 + (i - 5) * 7: 30 + (i - 5) * 7 + 7])
- sum1 = sum(map(lambda x: x[1],groups[i]))
- if sum1 < 1 or sum1 == len(groups[i]):
- break
- else:
- groups.append(students[i * 6: i * 6 + 6])
- sum1 = sum(map(lambda x: x[1],groups[i]))
- if sum1 < 1 or sum1 == len(groups[i]):
- break
- else:
- break
- for i in groups:
- for j in i:
- print(j[0], '男' if j[1] == 0 else '女', end = ' ')
- print()
复制代码 |
|