前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现循环随机抽题

Python实现循环随机抽题

作者头像
阿黎逸阳
发布2020-12-28 10:25:03
1.4K0
发布2020-12-28 10:25:03
举报

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

现在班上共计有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 具体实现代码

代码语言:javascript
复制
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

得到的结果如下:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档