对参与实验的对象进行随机匹配的方式
import random
import xlsxwriter
workbook=xlsxwriter.Workbook("随机配对结果.xls")#创建表格
worksheet1=workbook.add_worksheet('分组情况')#创建表
group1_male=list(range(101,113))
group1_female=list(range(113,126))
group2_male=list(range(201,217))
group2_female=list(range(217,234))
group3=list(range(301,365))
print("-------第一组第一轮开始对女女进行配对--------")
a2=[]
a3=[]
for i in range(1,7):
a1=random.sample(group1_female,2) #sample的取数方式是一个字典,但是choice却是一个数字注意你想要的数据类型
a2.append(a1[0]) #这是对列表进行的添加数据的方式,也可以通过遍历的方式,但是要创建循环。
a3.append(a1[1]) #方括号里的是列表元素对应的下标
print(f"第一组第一轮第{i}对随机匹配结果:",a1)
group1_female=list(set(group1_female)-set(a1)) #多层嵌套,防止变量太多。
worksheet1.write(i,1,a1[0])
worksheet1.write(i,3,a1[1])
worksheet1.write(0,0,"第一组第一轮女女配对结果")
worksheet1.write(0, 1, "提议者")
worksheet1.write(0, 3, "回应者")
print("-------第一组第二轮对女女进行配对--------")
a4=list(random.sample(a2,6))
a5=list(random.sample(a3,6))
for i in range(6):
print(f"第二轮第{i+1}对匹配结果:",a4[i],a5[i])
worksheet1.write(i+1,6,a4[i])
worksheet1.write(i+1,8,a5[1])
worksheet1.write(0, 5, "第一组第二轮女女配对结果")
worksheet1.write(0, 6, "回应者")
worksheet1.write(0, 8, "提议者")