根据给定的题库,自动随机抽取5道选择题,5道判断题,组成一份无答案的新试卷1和一份带参考答案的试卷2,保存至excel,分别命名为“学号后两位-姓名-试卷1”和“学号后两位-姓名-答案“
时间: 2024-03-19 20:43:27 浏览: 51
JAVA笔试 试卷 资料 附答案
好的,下面是Python代码实现的示例:
```python
import openpyxl
import random
# 读取题库
wb = openpyxl.load_workbook('题库.xlsx')
ws_choice = wb['选择题']
ws_judge = wb['判断题']
# 随机抽取题目
choice_questions = random.sample(list(ws_choice.values), 5)
judge_questions = random.sample(list(ws_judge.values), 5)
# 创建新的excel文档
new_wb = openpyxl.Workbook()
new_ws1 = new_wb.active
new_ws1.title = '试卷1'
new_ws2 = new_wb.create_sheet('试卷2')
# 写入选择题和判断题到试卷1中
new_ws1.cell(row=1, column=1, value='选择题')
for i in range(5):
new_ws1.cell(row=i+2, column=1, value=f'{i+1}. {choice_questions[i][0]}')
for j in range(4):
new_ws1.cell(row=i+2, column=j+2, value=choice_questions[i][j+1])
new_ws1.cell(row=8, column=1, value='判断题')
for i in range(5):
new_ws1.cell(row=i+9, column=1, value=f'{i+1}. {judge_questions[i][0]}')
# 写入答案到试卷2中
new_ws2.cell(row=1, column=1, value='选择题答案')
for i in range(5):
new_ws2.cell(row=i+2, column=1, value=f'{i+1}. {choice_questions[i][2]}')
new_ws2.cell(row=7, column=1, value='判断题答案')
for i in range(5):
new_ws2.cell(row=i+8, column=1, value=f'{i+1}. {judge_questions[i][2]}')
# 保存excel文档
new_wb.save('学号后两位-姓名-试卷1.xlsx')
new_wb.save('学号后两位-姓名-答案.xlsx')
```
需要注意的是,需要将题库保存为“题库.xlsx”文件,并且题库中选择题和判断题分别保存在名为“选择题”和“判断题”的工作表中。同时,还需要将“学号后两位-姓名”替换为实际的学号和姓名。
阅读全文