チーム分け.py
code:python3
import random
def fix(student, remove, name, max, sa):
# remove要素を削除
print('\n> ' + str(len(remove)) + '個の要素を削除しました', end=':')
for i in remove:
student.pop(student.index(i))
print(i, end=' ')
print()
for i in student:
print(i, end=' ')
print('\nチーム分けする人数:',len(student))
print('チーム数', len(name))
print('チームの人数', max - sa,'~', max)
print('> チーム生成開始')
flag = 0
# 人数不足のチームが無いことのチェック
while flag == 0:
flag = 1
team = fix2(student.copy(), name, max)
for i in range(len(team)):
if len(teami) < max - sa:
flag = 0
print('チーム人数に偏りがあるのでやりなおし')
# 結果の出力
print('> 計算終了')
for i in range(len(team)):
print(namei, end=' : ')
if len(teami) == 5:
for j in range(len(teami)):
if j == 0:
print(teamij + '(L)', end=' ')
else:
print(teamij + '(' + str(j) + ')', end=' ')
print('')
if len(teami) != 5:
l = random.randint(0,3)
for j in range(len(teami)):
if j == l:
tstr = '(' + str(j + 1) + 'L)'
else:
tstr = '(' + str(j + 1) + ')'
print(teamij + tstr, end=' ')
print('')
print('> 丸カッコ内の数字が予習担当、Lはリーダーです、しっかり予習しましょう')
def fix2(student, name, max):
team = []
for i in range(len(name)):
list = []
team.append(list)
for i in range(len(student)):
n = random.randint(0,len(student) - 1)
m = student.pop(n)
flag = 0
while flag == 0:
t = random.randint(0,len(name) - 1)
if len(teamt) < max:
flag = 1
teamt.append(m)
return team
# main部
student = '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50'
remove = '30', '49'
max = 5
sa = 1
name = 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'
fix(student, remove, name, max, sa)