python如何自动打印_利用Python每天自动打印练习题
在日常教學工作中,我幾乎每天都會給班上的每位同學打印一份口算練習題。為了防止出現抄襲的現象,給每位同學的練習題都不相同。
通過網上下載的一個小軟件自動生成的練習題。
之前的操作是通過網上下載的軟件,自動生成了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每天自动打印练习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java接口常见问题分析_常见问题 -
- 下一篇: python2和python3如何共存,