升级版:主要功能是根据data.txt文件中的内容进行拼写训练

type.py

# -*- coding: utf-8 -*-
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : type.pyfrom tkinter import *
import random
import string
from datetime import datetimeroot = Tk()
root.title("Python拼写练习")
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
v4 = StringVar()
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')
e4 = Label(root, textvariable=v4, width=15, font=('宋体', 10))
e1.grid(row=0, column=0, padx=12, pady=20)
e2.grid(row=1, column=0, padx=12, pady=20)
e3.grid(row=2, column=0, padx=12, pady=20)
e4.grid(row=3, column=0, padx=12, pady=5, sticky=E)
text = Text(root, width=57, height=7)
text.grid(row=4, column=0, sticky=W, columnspan=2, padx=12, pady=20)class TypingTest:def __init__(self):file=open(r'data.txt','r', encoding='UTF-8')alllines = file.readlines()file.close()self.answerList=[]  self.requesetList=[]for line in alllines:curLine=line.strip().split(",")self.answerList.append(curLine[0])self.requesetList.append(curLine[1])self.create_exam()v4.set("按回车提交!")def create_exam(self):self.requeset = self.requesetList[0]self.answer = self.answerList[0]self.examination_paper = ''text.delete(0.0, END)v1.set(self.requeset)v2.set("")def score(self, event):text.delete(0.0, END)wrong_index = []rightString = ''self.examination_paper = v2.get()for i in range(len(self.answer) if (len(self.answer) > len(self.examination_paper)) else len(self.examination_paper)):if i >= (len(self.examination_paper) if (len(self.answer) > len(self.examination_paper)) else len(self.answer)):wrong_index.append(i)rightString += " "elif self.examination_paper[i] != self.answer[i]:wrong_index.append(i)if self.examination_paper == self.answer:v3.set("回答正确,继续下一题。")del self.requesetList[0]del self.answerList[0]e3['foreground']='green'self.create_exam()else:v3.set("回答错误!")e3['foreground']='red'text.insert(END, "题目:%s\n" % self.requeset)tag_info = list(map(lambda x: '2.' + str(x + 3), wrong_index))text.insert(END, "答案:%s%s\n" % (self.examination_paper,rightString))for i in range(len(tag_info)):text.tag_add("tag1", tag_info[i])text.tag_config("tag1", background='red')text.tag_add("tag2", '2.'+str(wrong_index[-1] + 4))text.tag_config("tag2", background='white')
TypingTest = TypingTest()
e2.bind(sequence="<Return>", func=TypingTest.score)
root.geometry("430x350")
mainloop()

data.txt

test,测试1
test2,测试2

使用Python编写打字训练小程序升级版相关推荐

  1. [转载] 使用Python编写打字训练小程序

    参考链接: 在Python中切换大小写(替换) 你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百 ...

  2. 使用Python编写打字训练小程序

    你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢 ...

  3. python打字_使用Python编写打字训练小程序

    你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢 ...

  4. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  5. python写小程序-用python编写一个闹钟小程序

    今天看到了一个闹钟的视频,于是想到了不如自己也编写一个.让我们先来理一下思路,界面用tkinter编辑,主要是其他的GUI也没用过,datetime获取本地时间...... 1.好的,思路理完了,让我 ...

  6. python编程100个小程序-用python编写一个闹钟小程序

    今天看到了一个闹钟的视频,于是想到了不如自己也编写一个.让我们先来理一下思路,界面用tkinter编辑,主要是其他的GUI也没用过,datetime获取本地时间...... 1.好的,思路理完了,让我 ...

  7. 利用python编写气泡提醒小程序

    今天偶尔要用到气泡提醒的功能,在网上找了一下相关的python程序代码,找到一个notify-py,具体网址在这里,兴高采烈的pip安装一下, pip install notify-py 然后照着所提 ...

  8. 用python编写一个爱心小程序

    无聊时写了一个爱心小程序,自己编写了一个相对简单点的,当然还可以添加其它的内容,比如文字什么的. 最终得到的图案 代码如下: import turtle import random p = turtl ...

  9. 使用Python编写简单的小程序、成绩计算器

    效果图展示 一.开始项目 成绩计算器程序需要两个分数,以百分比表示 - 一个用于项目,一个用于考试. 项目和考试都为最终评估成绩贡献了50%. 程序应从中计算出总体百分比,并使用下表中的数据计算出最终 ...

最新文章

  1. ppt转换成pdf转换器免费版
  2. 【转摘】IT人日常的学习—中国消费产业的基本盘和机遇
  3. Python 中的绘图matplotlib mayavi库
  4. 计算机组成原理学习 笔记一
  5. 从技术上解读大数据的应用现状和开源未来! | 技术头条
  6. 斯坦福2019强化学习课程完结,讲义、PPT、视频已提供下载
  7. 3dmax如何显示参考图_3d效果图渲染丢材质、丢贴图该如何解决?
  8. Linux系统下Postgresql数据库安装
  9. bitset优化传递闭包
  10. 自考马克思主义原理基本概述【03709】必做选择题
  11. video.js插件的使用
  12. Android 7.0修改PMS逻辑添加权限白名单
  13. 智源大会人工智能的认知神经基础论坛精华观点 | 从「第一性原理」到大脑仿真...
  14. Discuz 会员头像调用方法之discuz_uc_avatar函数
  15. 江苏高考时间2021成绩查询,2021年江苏高考成绩什么时候出来 公布时间
  16. 无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insec
  17. vue下载文件并重命名
  18. 基于DPLL的SAT求解器
  19. php解密方法,六种php加密解密方法实例讲解
  20. k2677场效应管参数引脚_常用场效MOS应管参数大全-电压参数表图文

热门文章

  1. 劳务派遣和灵活用工有什么不同?
  2. Windows平台录音类封装:AudioRecordWindows
  3. 阿里云Centos系统下部署静态前端页面
  4. 上海高二物理公式整理
  5. 音质好的蓝牙耳机有哪些?音质好的蓝牙耳机推荐
  6. Centos7 Squid正向代理
  7. linux crontab在线生成,linux下crontab在线配置解析 互联网技术圈 互联网技术圈
  8. STM32显示软件取模图片
  9. HTTPS 到底加密了什么?
  10. vue3.0 结合element ui 开发后台ui框架