首页IT科技python打字机效果加颜色放在指定位置(Python如何实现打字训练的程序)

python打字机效果加颜色放在指定位置(Python如何实现打字训练的程序)

时间2025-05-06 02:59:50分类IT科技浏览6363
导读:1、键盘上的字符需要生成,string模块生成字符。...

1            、键盘上的字符需要生成             ,string模块生成字符            。

当然可以0-9,A-Z,a-z!等等                    ,把键盘上的按键一个个举出来                   。

importstring #列举数字 string.digits >>>0123456789 #列举小写字母 string.ascii_lowercase >>>abcdefghijklmnopqrstuvwxyz #列举大写字母 string.ascii_uppercase >>>ABCDEFGHIJKLMNOPQRSTUVWXYZ #列举所有标点符号 string.punctuation >>>!"#$%&\()*+,-./:;?@[\\]^_`{|}~ #列举所有空白符 string.whitespace >>>\t\n\r\x0b\x0c string.ascii_letters= string.ascii_lowercase+string.ascii_uppercase string.printable= string.ascii_letters+string.digits +string.whitespace+string.punctuation

2                   、判断剩余内容的相关读写        。

fromtkinterimport* importrandom importstring fromdatetimeimportdatetime root=Tk() root.title("Python打字练习题By:清风Python") Label(root,text=系统题目:).grid(row=0) Label(root,text=用户作答:).grid(row=1) Label(root,text=考试结果:).grid(row=2) v1=StringVar() v2=StringVar() v3=StringVar() v1.set("点击开始测试按钮开始出题") e1=Entry(root,text=v1,state=disabled,width=40,font=(宋体,14)) e2=Entry(root,textvariable=v2,width=40,font=(宋体,14)) e3=Label(root,textvariable=v3,width=40,font=(宋体,10),foreground=red) e1.grid(row=0,column=1,padx=10,pady=20) e2.grid(row=1,column=1,padx=10,pady=20) e3.grid(row=2,column=1,padx=10,pady=20) text=Text(root,width=80,height=7) text.grid(row=4,column=0,columnspan=2,pady=5) classTypingTest: def__init__(self): self.time_list=[] self.letterNum=20 self.letterStr=.join(random.sample(string.printable.split()[0],self.letterNum)) self.examination_paper= deftime_calc(self): self.time_list.append(datetime.now()) yield defcreate_exam(self): text.delete(0.0,END) #e3.delete(0,END) v1.set(self.letterStr) self.time_calc().__next__() text.insert(END,"开始:%s\n"%str(self.time_list[-1])) user_only1.config(state=active) defscore(self): wrong_index=[] self.time_calc().__next__() text.insert(END,"结束:%s\n"%str(self.time_list[-1])) use_time=(self.time_list[-1]-self.time_list[-2]).seconds self.examination_paper=v2.get() iflen(self.examination_paper)>self.letterNum: v3.set("输入数据有误      ,作答数大于考题数") else: right_num=0 forzinrange(len(self.examination_paper)): ifself.examination_paper[z]==self.letterStr[z]: right_num+=1 else: wrong_index.append(z) ifright_num==self.letterNum: v3.set("完全正确,正确率%.2f%%用时:%s秒"%((right_num*1.0)/self.letterNum*100,use_time)) else: v3.set("正确率%.2f%%用时:%s秒"%((right_num*1.0)/self.letterNum*100,use_time)) #e2.delete(0,END) text.insert(END,"题目:%s\n"%self.letterStr) tag_info=list(map(lambdax:4.+str(x+3),wrong_index)) text.insert(END,"作答:%s\n"%self.examination_paper) foriinrange(len(tag_info)): text.tag_add("tag1",tag_info[i]) text.tag_config("tag1",background=red) user_only1.config(state=disabled) TypingTest=TypingTest() Button(root,text="开始测试",width=10,command=TypingTest.create_exam).grid(row=3,column=0,sticky=W,padx=30,pady=5) user_only1=Button(root,text="交卷",width=10,command=TypingTest.score,state=disable) user_only1.grid(row=3,column=1,sticky=E,padx=30,pady=5) mainloop()

3        、将最终代码打包成exe工具         ,可以脱离python环境                    ,在单独的电脑上执行exe文件         ,就可以打字练习了         。

以上就是Python实现打字训练程序的方法      ,希望对大家有所帮助                  。更多Python学习指路:Python基础教程

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
驻马店360关键词优化排名技术(驻马店百度贴吧官网)