天天看点

python抽学号程序_Python 9行代码来随机抽学生回答指定问题

标题附图已经剧透完了hhh

思路:

数据文件:名单和题目分开了两个sheet便于维护

需要用到的库:

import xlrd

from random import randint

用xlrd读取

workbook = xlrd.open_workbook(r'namess.xlsx')

names = workbook.sheet_by_index(0).col_values(0)

test_list = workbook.sheet_by_index(1).col_values(0)

workbook.sheet_by_index()用来按工作表索引读取,如果很多页的话可以用

workbook.worksheet_by_name('name')读取;

worksheet.col_values()读取指定列数据,返回一个列表

对题目进行遍历,每一次循环创造一个不超出现有名单范围的随机整数作为抽名字的索引

for i in range(0,len(test_list)):

num = randint(0,len(names))

name = names.pop(num)

print(name + '===>' + test_list[i])

最后按照想要的样子输出直接用IDLE跑了,省事。。

完整代码:

import xlrd

from random import randint

workbook = xlrd.open_workbook(r'namess.xlsx')

names = workbook.sheet_by_index(0).col_values(0)

test_list = workbook.sheet_by_index(1).col_values(0)

for i in range(0,len(test_list)):

num = randint(0,len(names))

name = names.pop(num)

print(name + '===>' + test_list[i])