##部分代码借用CSDN网友的开源代码
##Python版typing_test内测版code,用于测试执行效率,正确率
##第一个版本只支持一个文件运行
##引入time
import pathlib
import os
import logging
import datetime
from time import *
import os##只写个框架,毕竟是开源的
##至于怎么写遍历全目录的txt文件,可以自己想个
##懒得写了,头发都快掉光了………time1=datetime.datetime.now()
logging.basicConfig(filename=os.path.join(os.getcwd(),str(time1)+'typing_test.log'),level=logging.DEBUG)
ver='1.0.7.81.1'
begintimes=datetime.datetime.now()
begin_time = time()
logging.debug('begin_time='+str(begintimes))
logging.debug('typing_test.py starting…')
logging.debug('get the version is'+str(ver))
##files打字文件名
while 1:files=input('请输入篇目文件名:')+'.txt'logging.debug('files='+str(files))if str(os.path.exists(files))=='False':print('输入错误,文件不存在')print('请重新输入')print(files)print(str(os.path.exists(files)))input()print("\n" * 37)else:passbreak
##目前有没有能够适配qpython还不会报错的代码实现查找文件
##已经试了多个代码貌似都不太行
logging.debug('user input='+str(files))##已存在变量
##1.files:文件名,2.count,总行数,3.lines总行数文字
##4.当前行:line,5.a:用户输入,6.c1当前行字数
##7.输入的字数
##初始化数据中
h1=0
h2=0
h4=0
b=0
d=0
count = 0
c3=0
lh=0
d1=0##count代表行数
##获取行数
with open(files) as f:lines = f.readlines()logging.debug('get lines='+str(lines))count = len(open(files).readlines())logging.debug('count='+str(count))
##写一个while循环,不break
##面向用户
while 1:
##b为当前的行数line=lines[b] c1=len(line)logging.debug('line='+str(line))logging.debug('c1='+str(c1))
##进入第二个循环    while 2:print('正确率:'+str(h4))print(line)b=b+1write1=input()logging.debug('write1='+str(write1))if write1=='':logging.debug('write is empty.error')print("\n" * 37)print('未检测到输入内容请重新输入')else:
##只有输入的str不为空才break,否则一直循环break##c2line的字数c2=len(line)logging.debug('c2='+str(c2))##c3总字数c3=c3+c2logging.debug('c3=c3+c2='+str(c3))lh=lh+1##写的是判对错的机制
##考虑后续升级纠错机制但是有些害怕,速度过res = []for x in line:if x in write1:res.append(x)##d1是重合字数d1=len(res)##h4是正确率h4=int(d1/c2*100)##d2是全正确字数d2=int(d1+1)##end模块print("\n" * 37)logging.debug('current var count='+str(count))logging.debug('current var lh='+str(lh))if str(lh)==str(count):end_time = time()run_time = end_time-begin_timelogging.debug('endtime='+str(end_time))logging.debug('runtime='+str(run_time))##h3正确率h3=d2/c3 *100##h为int后的时间h=int(run_time)logging.debug('h3=h2/h1*100='+str(h3))logging.debug('h=int(run_time)='+str(h))t=h/60logging.debug('t=h/60='+str(t))dzsd=c3/t##打字速度logging.debug('dzsd=c3/t='+str(dzsd))print('正确率机制目前有问题后续修改')print('------------------------')print('正确率:'+str(h3)+'%')print('速度:'+str(dzsd)+'字/分钟')print('------------------------')print('任意键退出')logging.debug('log end')logging.debug('')logging.debug('')logging.debug('')input()exit()breakelse:pass

Python实现打字程序相关推荐

  1. Python少打字小技巧

    说明:增加代码的描述力,可以成倍减少你的LOC,做到简单,并且真切有力 观点:少打字=多思考+少出错,10代码行比50行更能让人明白,以下技巧有助于提高5倍工作效率 1. 交换变量值时避免使用临时变量 ...

  2. python网络爬虫程序技术,Python网络爬虫程序技术

    spContent=该课程是2018年广东省精品在线开放课程.课程主要以爬取学生信息.爬取城市天气预报.爬取网站图像.爬起图书网站图书.爬取商城网站商品等5个项目为依托,讲解Web.正则表达式.Bea ...

  3. python缩进在程序中长度统一且强制使用_Python习题纠错1

    February, 1991 0.9.1 2.Python语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例). Python缩进在程序中长度统一且强制使用. 3.IPO:Input Proces ...

  4. python示例异常处理与程序调试_笔记:Python异常处理与程序调试

    Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约 ...

  5. 基于Python分析深圳程序员工资有多高?

    基于Python分析深圳程序员工资有多高? 概述 前言 统计结果 爬虫技术分析 爬虫代码实现 爬虫分析实现 后记 前言 多图预警.多图预警.多图预警.校招季,毕业也多,跳槽也多.我们的职业发展还是要顺 ...

  6. python 关闭exe程序进程

    python 关闭exe程序进程 import os def kill_exe(exe_name):"""杀死exe进程:param exe_name:进程名字:retu ...

  7. python英语字典程序-Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加.查询.删除和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  8. python小程序-Python基本小程序

    Python基本小程序 一.筛选从1-100所有的奇数 实现代码: # 设计思路 # 1.定义初始值 # 2.定义结束值 # 3.循环输出 # 设计代码 n=1 while n<101: k = ...

  9. python是c语言写的吗-先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

最新文章

  1. C++TSL之map容器(悲伤的故事)
  2. 如何注入值到Spring bean属性
  3. 数学和物理太难?这些动图让你秒懂抽象概念
  4. django orm 之makemigrations和migrate命令
  5. R 绘制风洞实验数据曲线
  6. 通过创建制定版本react-native项目解决“Unable to resolve module `AccessibilityInfo` ”的问题...
  7. 浅析Secondary NameNode与namenode
  8. 案例分享:Qt管道焊接参数条码打印系统(条码打印机TSC 244 Pro、打印条码、打印中文、打印字符、多张连续打印)
  9. wifi5 router/ wallys/IPQ4019 IPQ4029 ,802.11AC 2x2 2.4G5G/IPQ5018, 802.11ax,wifi 6e,QCN9074
  10. pc版本Line电脑多开软件,多开分身软件
  11. 无需绿幕的全自动视频抠图工具|unscreen
  12. 简单说说Java SE、Java EE、Java ME三者之间的区别
  13. 【javaScript】原生实现窗口拖动效果
  14. 好用的在线二维码生成器网站PHP源码
  15. 各类文件应该存在哪种数据库中
  16. [POI2007]ZAP-Queries 莫比乌斯反演(模板)
  17. 安装TextPad后无“Compile Java” 等选项的解决办法
  18. 全新界面下拉整理 点心省电3.0版
  19. idea怎么打开war包并运行
  20. mysql导入bak文件

热门文章

  1. 计算机 法语 考研分数线,2018中国政法大学法语语言文学考研录取名单、招生人数、分数线...
  2. 2023年陕西高考,理科状元竟然有四位同学!
  3. 示波器查看汽车电子燃油泵信号分析
  4. java jolt_java – Jolt条件规范
  5. RedHat6.4系统下LAMP环境的搭建---(源码包编译安装)---v1.0
  6. TI | TM4C123Gx单片机之---I2C接口笔记
  7. 博主Qt+ffmpeg实现的导播台
  8. Anaconda Navigator启动报错
  9. 2022年考研高数一18题解法
  10. 外贸软件进销存管理如何解决汽配行业管理难点