四则运算的升级

将上一次的交互式做题变成题库系统,并进行题库性能升级

一、主要代码

#四则运算函数
 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

 

 

posted @ 2020-10-02 19:04  屁屁蛇  阅读(148)  评论(0)    收藏  举报