四则运算的升级
将上一次的交互式做题变成题库系统,并进行题库性能升级
一、主要代码
#四则运算函数 2 question = [] 3 result=[] 4 #分1-6年级 写运算函数 5 def Arithmetic1(): 6 sign=['+','-','×','÷'] 7 s=random.randint(0,1) 8 num1=random.randint(1,10) 9 num2=random.randint(1,10) 10 if s==0:#加法 11 result.append(num1+num2) 12 question.append(str(num1)+'+'+str(num2)+'= ') 13 elif s==1:#减法 14 num1, num2 = max(num1, num2), min(num1, num2) 15 result.append(num1-num2) 16 question.append(str(num1)+'-'+str(num2)+'= ')
def run(N,n): #N=年级,n=数量 2 print('输入所需要的题目数量') 3 N=int(N) 4 n=int(n) 5 m=0 6 if N==1: 7 while m<=(n-1): 8 Arithmetic1() 9 m=m+1 10 m=1 11 for item in question: 12 display_q.insert('end','第{}题:'.format(m)+item+'\n') 13 m=m+1 14 m=1 15 for item in result: 16 display_a.insert('end','第{}题答案:'.format(m)+str(item)+'\n') 17 m=m+1
二、用python做题库系统的GUI界面
#创建窗口 2 window=Tk() 3 window.title("小学四则运算系统") #窗口名 4 window.geometry("850x700") #宽x高 5 6 #创建label 7 label1=Label(window,text="小学数学四则运算题库系统",font=('黑体',25)) 8 label2=Label(window,text='请输入年级:',font=20) 9 label3=Label(window,text='请输入想要的题目数量:',font=20) 10 label4=Label(window,text='本次题目如下:',font=20) 11 label5=Label(window,text='答案如下:',font=20) 12 13 #创建输入框 14 entry1=tk.Entry(window, show=None, font=14) # 显示成明文形式 15 entry2=tk.Entry(window, show=None, font=14) # 显示成明文形式 16 entry1.pack() 17 entry2.pack() 18 19 #创建题库显示框 20 display_q=tk.Text(window,width=30,height=15) 21 display_q.pack() 22 23 #创建答案显示框 24 display_a=tk.Text(window,width=30,height=15) 25 display_a.pack() 26 27 # 清除键框 28 def delete(display_q,display_a): 29 entry1.delete(0,'end') 30 entry2.delete(0,'end') 31 display_q.delete(1.0,tkinter.END) 32 display_a.delete(1.0,tkinter.END) 33 34 #创建按钮 35 button_deter=tk.Button(window, text='确定', width=8,height=1,font=20, command=lambda:run(entry1.get(),entry2.get())) 36 button_clear=tk.Button(window, text='清除', width=8,height=1,font=20,command=lambda:delete(display_q,display_a)) 37 button_deter.pack() 38 button_clear.pack() 39 40 #最后的参数描写 41 label1.place(relx=0.5,rely=0.1,anchor=CENTER) 42 label2.place(relx=0.5,rely=0.2,anchor=CENTER) 43 label3.place(relx=0.5,rely=0.3,anchor=CENTER) 44 label4.place(relx=0.1,rely=0.5) 45 label5.place(relx=0.6,rely=0.5) 46 button_deter.place(relx=0.4,rely=0.4,anchor=CENTER) 47 button_clear.place(relx=0.6,rely=0.4,anchor=CENTER) 48 entry1.place(relx=0.7,rely=0.2,anchor=CENTER) 49 entry2.place(relx=0.75,rely=0.3,anchor=CENTER) 50 display_q.place(relx=0.1,rely=0.55) 51 display_a.place(relx=0.6,rely=0.55) 52 53 window.mainloop()
三、
(一)win+R输入cmd,打开命令行窗口
(二)安装pyinstaller,指令:pip install pyinstaller(已安装可忽略)
(三)目录切换到需要打包的py文件的该层目录
(四)打包文件,pyinstaller -F xxx.py(xxx.py是需要打包的文件)(如下图:)

四、运行结果

五、性能测试(如下图)

六、psp

浙公网安备 33010602011771号