python出题器_随手写的python出题小玩意
我給我小孩寫了個100內加減法的,應同事要求,順手整了個99乘法的
功能很簡單,生成一個練習99乘法的excel文件,直接打出來給小孩做就行
效果如圖:
源碼附上
[Python] 純文本查看 復制代碼
import random
import xlrd
import xlwt
from xlutils.copy import copy
class Subject(object):
"""docstring for Subject"""
def __init__(self, min_num, max_num):
self.min_num = min_num
self.max_num = max_num
def random(self):
while True:
num_1 = random.randint(self.min_num,self.max_num)
num_2 = random.randint(self.min_num,self.max_num)
res = num_1 * num_2
blank = random.randint(1, 3)
if blank == 1:
return("( )"+"×"+str(num_2)+"="+str(res))
if blank == 2:
return(str(num_1)+"×"+"( )"+"="+str(res))
else:
return(str(num_1)+"×"+str(num_2)+"="+"( )")
class Intoexcel(object):
"""docstring for Intoexcel"""
def __init__(self, xl_x, xl_y, content):
self.x = xl_x
self.y = xl_y
self.content = content
def write(self):
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('test1')
style = xlwt.XFStyle()
font = xlwt.Font()
font.height = 20*20
alignment = xlwt.Alignment()
alignment.horz = 0x01
alignment.vert = 0x01
style = xlwt.XFStyle()
style.font = font
style.alignment = alignment
borders = xlwt.Borders()
borders.bottom = xlwt.Borders.THIN
style.borders = borders
row_sheet = 0
col_sheet = 0
for row_sheet in range(self.content):
for col_sheet in range(5):
a = Subject(self.x, self.y)
sub = a.random()
sheet.col(col_sheet).width = 256*19
tall_style = xlwt.easyxf('font:height 620;')
first_row = sheet.row(row_sheet)
first_row.set_style(tall_style)
sheet.write(row_sheet, col_sheet, sub, style)
workbook.save('99乘法填空.xls')
if __name__ == '__main__':
min_num = 1 # 最小數
max_num = 9 # 最大數
sub_num = 100 # 多少行
sub= Intoexcel(min_num, max_num, sub_num)
sub.write()
鏈接:https://pan.baidu.com/s/1rG4JlbdMPI98pb5VoplZYw
提取碼:el3j
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python出题器_随手写的python出题小玩意的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity添加对象实例_【Unity】6
- 下一篇: 小米申请无线充电新专利,可同时对多个设备