前几天有个同学问了我一个问题:
现在班上共计有70名学生,题库中有20道题,每位同学随机抽5道题(不重复),该怎么用python实现这个功能?
已经实现的同学或觉得有点问题的小伙伴,看看我的分析思路吧。
step1:定义一个5行70列的全0矩阵,命名为stu_tit,用来存放每位学生的抽题结果(其中每一列可以存储一位学生抽取的题号)。
step2:定义1到20的题号,命名为title。
stpe3:用random.sample函数从题号中随机抽取5个不重复的数字。
step4:利用循环把每次抽取的题号保存到stu_tit的列中,重复70次即可实现上述功能。
import numpy as npstu_tit = np.zeros((5,70)) #定义存放数据的全0矩阵title = range(1,20) #生成题号import randomfor i in range(0,stu_tit.shape[1]):stu_tit[:,i] = random.sample(title, 5) #为每位同学赋予随机挑选的题import pandas as pdstu_tit = pd.DataFrame(stu_tit).astype(int) #转成DataFrame

。往期回顾:


扫一扫关注我
19967879837
投稿微信号、手机