python怎么打字,程序员打字训练

  python怎么打字,程序员打字训练

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

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

  导入字符串

  #列举数字

  字符串。数字

  0123456789

  #列举小写字母

  string.ascii _小写

  abcdefghijklmnopqrstuvwxyz

  #列举大写字母

  string.ascii _大写

  ABCDEFGHIJKLMNOPQRSTUVWXYZ

  #列举所有标点符号

  字符串。标点符号

  !#$%\()* ,-./:@[\\]^_`{}~

  #列举所有空白符

  字符串。空白

  \t\n\r\x0b\x0c

  string.ascii_letters=

  字符串。ascii _小写字符串。ascii _大写

  string.printable=

  字符串. _字母字符串。数字

  字符串。空白字符串。标点符号2、判断剩余内容的相关读写。

  fromtkinterimport *

  随机输入

  导入字符串

  fromdatetimeimportdatetime

  root=Tk()

  root.title(Python打字练习题到:清风python’)

  Label(root,text=系统题目:).网格(行=0)

  Label(root,text=用户作答:).网格(行=1)

  Label(root,text=考试结果:).网格(行=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),前景=红色)

  e1 .网格(行=0,列=1,padx=10,pady=20)

  e2 .网格(行=1,列=1,padx=10,pady=20)

  e3.grid(行=2,列=1,padx=10,pady=20)

  文本=文本(根,宽度=80,高度=7)

  text.grid(row=4,column=0,columnspan=2,pady=5)

  类别不间断空格

  ;TypingTest:

  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电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: