0330lgs

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

一、主要代码

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

 

 

分类:

技术点:

相关文章:

  • 2022-01-10
  • 2021-11-21
  • 2021-11-21
  • 2021-06-14
  • 2021-11-21
猜你喜欢
  • 2021-11-21
  • 2021-07-22
  • 2021-11-21
  • 2021-08-02
  • 2021-11-03
相关资源
相似解决方案