1 import random 2 import os 3 import tkinter 4 import tkinter.ttk 5 from docx import Document 6 columnsNumber = 4 7 def mainrowsNumbers=20,grade=4): 8 if grade < 3: 9 operators = '+-' 10 biggest = 20 11 elif grade <= 4: 12 operators = '+-×÷' 13 biggest = 100 14 elif grade == 5: 15 operators = '+-×÷' 16 biggest = 100 17 18 document = Document) 19 table = document.add_tablerows=rowsNumbers,cols=columnsNumber) 20 table.style.font.name = '宋体' 21 for row in rangerowsNumbers): 22 for col in rangecolumnsNumber): 23 first = random.randint1,biggest) 24 second = random.randint1,biggest) 25 operator = random.choiceoperators) 26 27 if operator != '': 28 if operator == '-': 29 if first < second: 30 first,second = second,first 31 r = strfirst).ljust2,' ')+' ' + operator + strsecond).ljust2,' ') + '=' 32 else: 33 third = random.randint1,100) 34 while True: 35 o1 = random.choiceoperators) 36 o2 = random.choiceoperators) 37 if o1 != '' and o2 !='': 38 break 39 rr = random.randint1,100) 40 if rr > 50: 41 if o2 == '-': 42 if second < third: 43 second,third = third,second 44 r = strfirst).ljust2,' ') + o1 +''+strsecond).ljust2,' ')+o2+strthird).ljust2,' ')+')=' 45 else: 46 if o1 == '-': 47 if first < second: 48 first,second = second,first 49 r = '' + strfirst).ljust2,' ') + o1 +strsecond).ljust2,' ')+')'+o2+strthird).ljust2,' ')+'=' 50 cell = table.cellrow,col) 51 cell.text = r 52 document.save'kousuan.docx') 53 54 if __name__ == '__main__': 55 app = tkinter.Tk) 56 app.title'KouSuan.zWrite') 57 app['width'] = 300 58 app['height'] = 150 59 lableNumber = tkinter.Labelapp,text='Number:',justify=tkinter.RIGHT,width=50) 60 lableNumber.placex=10,y=40,width=50,height=20) 61 comboNumber = tkinter.ttk.Comboboxapp,values=100,200,300,400,500),width=50) 62 comboNumber.placex=70,y=40,width=50,height=20) 63 64 labelGrade = tkinter.Labelapp,text='Grade:',justify=tkinter.RIGHT,width=50) 65 labelGrade.placex=130,y=40,width=50,height=20) 66 comboGrade = tkinter.ttk.Comboboxapp,values=1,2,3,4,5),width=50) 67 comboGrade.placex=200,y=40,width=50,height=20) 68 69 def generate): 70 number = intcomboNumber.get)) 71 grade = intcomboGrade.get)) 72 mainnumber,grade) 73 buttonGenerate = tkinter.Buttonapp,text='=',width=40,command=generate) 74 buttonGenerate.placex=130,y=90,width=40,height=30) 75 76 app.mainloop)