您现在的位置是:课程教程文章
Python如何实现打字训练的程序
2023-12-13 23:37课程教程文章 人已围观
-
企业公司微信小程序 毕业设计(源代码版
企业公司微信小程序 毕业设计(源代码版企业公司微信小程序主要包含功能:公司信息、产品、案例、资讯、留言等。... -
软件测试python基础知识精讲
软件测试python基础知识精讲我们是谁? 我们是只做软件测试培训的机构,因为专一,所以专业,我们培训... -
大白话学懂微信小程序实战项目
大白话学懂微信小程序实战项目课程购买咨询和资料获取请加老师微信 2020363447 微信小程序经历了一年多的发展... -
微信小程序教室预约系统(后台javaweb)使
微信小程序教室预约系统(后台javaweb)使用户首次登陆系统需要注册一个用户或直接使用微信作为账号,用户在登录平台...
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基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
课程教程:Python如何实现打字训练的程序上一篇:Python列表推导式如何使用
下一篇:没有了