在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题。为了防止出现抄袭的现象,给每位同学的练习题都不相同。

通过网上下载的一个小软件自动生成的练习题。

之前的操作是通过网上下载的软件,自动生成了n份练习题。我只需要每天随机选取一定的份数通过打印机打印出来,发给班上的同学即可。

软件提供的功能是生成一份world文档,没有自动打印功能,并且软件生成出来的计算题有少数为$9\times1=$的这样太过于简单的计算题。作为一个懒人,我还需要每天花费几分钟的时间来选择打印,太过于麻烦。

所以我需要每天能够自动生成并打印我所需要的练习题,利用Python将简单便捷的解决这个问题。问题很简单,步骤如下:

开始吧~

一. 生成随机数量的练习题

我的学生目前处于二年级上期的阶段,需要进行训练的练习内容为:

表内乘除法

100以内的不进位加减法

100以内的进位加减法

使用random函数能简单生成我所需要的值。

这里需要注意到表内乘除法的乘数为$0-9$,而加减法的加数和减数为$0-100$。

得到想要的数后,就可以生成算式了。加减法和乘除法比例设置为3:2,表内的乘除法确实较为简单。

需要的算式有加法、减法、乘法和除法四种。

现在,我得到了加减乘除四种算式。当然,算式的排序也要随机,同样使用random随机得到。

至此,生成随机数量的练习题已经完成。在得到需要的数据后,下一步就是把数据进行排版了。

二. 排版并保存 - ReportLab

本来是打算采用Office的Excel的,但是我的系统的是Linux,对于office只能使用linux下的LibreOffice、wps等软件。并且使用的人也不是很多,网上相关的资料也也就不是很多。

所以就想到了使用PDF排版了。一旦生成文档后,不管在Win、Mac还是linux下的格式都固定了。不会出现因字体等原因导致排版发生变化。

在网上查了一下,找到了Reportlab这个库。

The ReportLab Toolkit. An Open Source Python library for generating PDFs and graphics.

用它就可以把上面生成的数据排版并保存下来。这个包的功能及其强大。但是在表格排版的过程中,当我放大算式的字体时,算式总是跳出表格框。

这个问题卡了我快两天的时间,还是英文不行,无法理解官方文档。最后还是在社区里面求助解决了这个问题。

排版完毕,并生成PDF文档后。接下来就是简单的打印文档了。

三、打印文档

直接使用自带os模块的system方法即可。

这里使用的是cups打印软件的下lp命令。在不同的系统下面可能会使用不同的命令。

Done

ok,一个简单的自动打印小程序已经完成。原来每天需要两分钟做完的时间现在只需要5秒钟就可以解决了。

Github地址:GitHub

python如何自动打印_利用Python每天自动打印练习题相关推荐

  1. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  2. python修改桌面壁纸_利用Python对windows桌面自动更换壁纸

    根据时间星期几判断用哪张壁纸 # !/usr/bin/env python3 # -*- coding:utf-8 -*- import requests # import pywintypes im ...

  3. python过滤敏感词汇_利用Python正则表达式过滤敏感词的方法

    利用Python正则表达式过滤敏感词的方法 问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符. 技术要点: 1)Python正则表达式模块re的sub()函数: 2)在 ...

  4. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法

    本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传 ...

  5. python自定义函数画图_利用Python绘图和可视化(长文慎入)

    Python有许多可视化工具,但是我主要讲解matplotlib(http://matplotlib.sourceforge.net).此外,还可以利用诸如d3.js(http://d3js.org/ ...

  6. python做游戏代码_利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!...

    相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...

  7. python csdn博客_利用Python抓取CSDN博客

    这两天发现了一篇好文章,陈皓写的makefile的教程,具体地址在这里<跟我一起写makefile> 这篇文章一共分成了14个部分,我看东西又习惯在kindle上面看,感觉一篇一篇地复制成 ...

  8. python实现邮件客户端_利用python实现简单的邮件发送客户端示例

    脚本过于简单,供学习和参考.主要了解一下smtplib库的使用和超时机制的实现.使用signal.alarm实现超时机制. #!/usr/bin/env python # -*- coding: ut ...

  9. python制作图片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

最新文章

  1. 在VMWare上安装linux
  2. github访问太慢解决方案
  3. 程序员提升编程效率的十五点建议!
  4. Iframe中的SSRS报表中使用windows.open在新窗口中不能打开URL中的问题
  5. 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
  6. KDD 2021 | 一种使用真负样本的在线延迟反馈建模
  7. c语言中int的取值范围_c语言入门(1)
  8. 太原市中考计算机考试系统,太原中考报名系统
  9. HTML+CSS+JS实现 ❤️彩色3D线条动画特效❤️
  10. 信息学奥赛一本通 1127:图像旋转 | OpenJudge NOI 1.8 11:图像旋转
  11. HP的“高端”磁带库!
  12. 震惊!谷歌专家爆料:Python和AI这回真的玩大了!网友:好方法!
  13. oracle vm 安装win server 2012 错误0x000000C4
  14. DruidDataSource
  15. EV:ePWM+eCAP
  16. 前端实现图片压缩—压缩图片大小,画质(两种方式)
  17. 市场上的安防摄像头或安防系统多少钱?安防摄像头价格指南
  18. TLV2333IDR的工作原理?
  19. 01.【入门必备】认识python-->Linux中python环境搭建-->Linux交互模式ipython
  20. X264码率控制总结1——ABR,CQP,CRF

热门文章

  1. hms能适配鸿蒙吗,国产手机即将抱团?魅族率先使用HMS服务,或多家国产适配鸿蒙!...
  2. ios 百度地图指定区域_ios百度地图的使用(普通定位、反地理编码)
  3. D-query SPOJ - DQUERY (莫队算法裸题)
  4. Circle HDU - 6550 (数学)
  5. UIImagePickerController和UIAlertController结合使用
  6. python随机验证码函数
  7. 2008技术内幕:T-SQL语言基础 联接查询摘记
  8. linux笔记2.20
  9. 尼康G镜头与D镜头的差别
  10. Takeown--夺取文件or文件夹所有权