Python实现循环随机抽题

​前几天有个同学问了我一个问题:

现在班上共计有70名学生,题库中有20道题,每位同学随机抽5道题(不重复),该怎么用python实现这个功能?

感兴趣的同学可以先不看下面的分析,试着自己实现一下这个功能。已经实现的同学或觉得有点问题的小伙伴,看看我的分析思路吧。

​  ​
​  ​

1 解题思路

​  ​
step1:定义一个5行70列的全0矩阵,命名为stu_tit,用来存放每位学生的抽题结果(其中每一列可以存储一位学生抽取的题号)。
​  ​
step2:定义1到20的题号,命名为title。
​  ​
stpe3:用random.sample函数从题号中随机抽取5个不重复的数字。
​  ​
step4:利用循环把每次抽取的题号保存到stu_tit的列中,重复70次即可实现上述功能。
​  ​
step5:把循环后得到的结果矩阵转换成数据框,方便我们观看。

​  ​
​  ​

2 具体实现代码

​  ​

import numpy as np
stu_tit = np.zeros((5,70))      #定义存放数据的全0矩阵
title = range(1,20)             #生成题号import random
for i in range(0,stu_tit.shape[1]):
    stu_tit[:,i] = random.sample(title, 5)  #为每位同学赋予随机挑选的题import pandas as pd
stu_tit = pd.DataFrame(stu_tit).astype(int) #转成DataFrame

得到的结果如下:
  
在这里插入图片描述
  
至此,这个小功能就实现啦,感兴趣的同学可以自己动手实现一下。如果有不同的实现方法,也可以在公众号后台跟我讨论一下。

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

猜你喜欢

转载自blog.csdn.net/qq_32532663/article/details/112139436