日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python自动生成word版本试卷_Python解决问题:生成包含加减练习题的Word文件

發布時間:2023/12/18 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动生成word版本试卷_Python解决问题:生成包含加减练习题的Word文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡 ? 介

這里 ? ? 小朋友假期作業有一項是每天做50道題的口算。之前的題目做完了,網上看到的習題集又木有合適的,再不然就是電子版本無法下載的,心想還是自己動手豐衣足食吧。

01 重點和難點

1F

安裝docx模塊

docx模塊封裝可以操作Microsoft Word文件所需要的工具。似乎該模塊只可以在Windows環境下使用,而不可以在Mac OS環境下使用。安裝該模塊很簡單。只需要在命令行模式下執行如下命令:

pipinstallpython-docx

網站:http://python-docx.readthedocs.io/en/latest/user/install.html#install

2F

分清幾個概念

要想使用docx模塊,需要分清word文件的組織結構。docx模塊中document對象對應于word文件,paragraph對象對應于word文件中段落,run對象對應于段落中的一段一段文字。此外,和word文件中段落屬于同一個級別的還有表格table對象。

02 程序代碼

這段程序代碼生成了一個包含25頁計算題的word文件,每一頁計算題包括100道加減題目。具體的看代碼,里面有注釋。

注:把文件拷貝到pycharm編輯器或者其他編輯器中,代碼會變得容易讀一些。

#!/usr/bin/python3# ?-*- coding: utf-8 -*-import docximport randomfrom docx.enum.textimport WD_PARAGRAPH_ALIGNMENTfrom docx.sharedimport *from docx.oxml.nsimport qn'''#docx模塊官方網站,可查詢模塊和函數用法http://python-docx.readthedocs.io/en/latest/'''#定義生成的頁數NUMOFPAGE=25#生成一個word對象filefile=docx.Document()#設置頁面的左右邊界for sectionin file.sections:? ? section.left_margin=Inches(0.8)? ? section.right_margin = Inches(0.8)#k循環用于產生對應頁數for kin range(NUMOFPAGE):#增加每一頁的標題 ? ?para = file.add_paragraph()? ? run = para.add_run("100題tt日期:tt錯題數:tt")#下面兩行用于設置字體和字號 ? ?run.font.name =u"宋體" ? ?run._element.rPr.rFonts.set(qn('w:eastAsia'), u"宋體")? ? run.font.size = Pt(15)? ? para.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT#生成一個20行*5列的表格,每一個單元格中放一個問題等式。表格的作用主要用于排版 ? ?table = file.add_table(rows=20, cols=5)? ? table.style.font.name ="Arial" ? ?table.style.font.size = Pt(12)for iin range(20):for jin range(5):#隨機生成一個等式,在這里借用了第一個數op1來決定加減符號 ? ? ? ? ? ?op1=int(random.randint(1,99))? ? ? ? ? ? op2=int(random.randint(1,99))? ? ? ? ? ? op="+" if op1%2==0 else "-" ? ? ? ? ? ?if op=="+":? ? ? ? ? ? ? ? run=table.cell(i,j).paragraphs[0].add_run(str(op1)+op+str(op2)+"=")? ? ? ? ? ? ? ? run.font.size=Pt(14)? ? ? ? ? ? ? ? table.cell(i,j).paragraphs[0].alignment=WD_PARAGRAPH_ALIGNMENT.LEFTelse:if op1>op2:? ? ? ? ? ? ? ? ? ? run = table.cell(i, j).paragraphs[0].add_run(str(op1) + op +str(op2) +"=")? ? ? ? ? ? ? ? ? ? run.font.size = Pt(14)else:? ? ? ? ? ? ? ? ? ? run = table.cell(i, j).paragraphs[0].add_run(str(op2) + op +str(op1) +"=")? ? ? ? ? ? ? ? ? ? run.font.size = Pt(14)? ? file.add_page_break()#保存文件file.save("D:\math.docx")

生成的文件如下:

總結

以上是生活随笔為你收集整理的python自动生成word版本试卷_Python解决问题:生成包含加减练习题的Word文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。