使用Python编写打字训练小程序升级版
升级版:主要功能是根据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编写打字训练小程序升级版相关推荐
- [转载] 使用Python编写打字训练小程序
参考链接: 在Python中切换大小写(替换) 你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百 ...
- 使用Python编写打字训练小程序
你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢 ...
- python打字_使用Python编写打字训练小程序
你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢 ...
- python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...
每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...
- python写小程序-用python编写一个闹钟小程序
今天看到了一个闹钟的视频,于是想到了不如自己也编写一个.让我们先来理一下思路,界面用tkinter编辑,主要是其他的GUI也没用过,datetime获取本地时间...... 1.好的,思路理完了,让我 ...
- python编程100个小程序-用python编写一个闹钟小程序
今天看到了一个闹钟的视频,于是想到了不如自己也编写一个.让我们先来理一下思路,界面用tkinter编辑,主要是其他的GUI也没用过,datetime获取本地时间...... 1.好的,思路理完了,让我 ...
- 利用python编写气泡提醒小程序
今天偶尔要用到气泡提醒的功能,在网上找了一下相关的python程序代码,找到一个notify-py,具体网址在这里,兴高采烈的pip安装一下, pip install notify-py 然后照着所提 ...
- 用python编写一个爱心小程序
无聊时写了一个爱心小程序,自己编写了一个相对简单点的,当然还可以添加其它的内容,比如文字什么的. 最终得到的图案 代码如下: import turtle import random p = turtl ...
- 使用Python编写简单的小程序、成绩计算器
效果图展示 一.开始项目 成绩计算器程序需要两个分数,以百分比表示 - 一个用于项目,一个用于考试. 项目和考试都为最终评估成绩贡献了50%. 程序应从中计算出总体百分比,并使用下表中的数据计算出最终 ...
最新文章
- ppt转换成pdf转换器免费版
- 【转摘】IT人日常的学习—中国消费产业的基本盘和机遇
- Python 中的绘图matplotlib mayavi库
- 计算机组成原理学习 笔记一
- 从技术上解读大数据的应用现状和开源未来! | 技术头条
- 斯坦福2019强化学习课程完结,讲义、PPT、视频已提供下载
- 3dmax如何显示参考图_3d效果图渲染丢材质、丢贴图该如何解决?
- Linux系统下Postgresql数据库安装
- bitset优化传递闭包
- 自考马克思主义原理基本概述【03709】必做选择题
- video.js插件的使用
- Android 7.0修改PMS逻辑添加权限白名单
- 智源大会人工智能的认知神经基础论坛精华观点 | 从「第一性原理」到大脑仿真...
- Discuz 会员头像调用方法之discuz_uc_avatar函数
- 江苏高考时间2021成绩查询,2021年江苏高考成绩什么时候出来 公布时间
- 无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insec
- vue下载文件并重命名
- 基于DPLL的SAT求解器
- php解密方法,六种php加密解密方法实例讲解
- k2677场效应管参数引脚_常用场效MOS应管参数大全-电压参数表图文