天天看點

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])