Python:练习打字游戏
from tkinter import *
import random
import string
from datetime import datetimeroot = 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)class TypingTest:def __init__(self):self.time_list = []self.letterNum = 20self.letterStr = ''.join(random.sample(string.printable.split(' ')[0], self.letterNum))self.examination_paper = ''def time_calc(self):self.time_list.append(datetime.now())yielddef create_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')def score(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]).secondsself.examination_paper = v2.get()if len(self.examination_paper) > self.letterNum:v3.set("输入数据有误,作答数大于考题数")else:right_num = 0for z in range(len(self.examination_paper)):if self.examination_paper[z] == self.letterStr[z]:right_num += 1else:wrong_index.append(z)if right_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(lambda x: '4.' + str(x + 3), wrong_index))text.insert(END, "作答:%s\n" % self.examination_paper)for i in range(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()
Python:练习打字游戏相关推荐
- python小游戏开发,使用python实现英语打字游戏
需求分析 英文打字小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 要有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意 ...
- Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇)
Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) 代码实现 窗口类 小车类 玩家类 电脑类 赛道类 小树类 打字类 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) ...
- Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇)
Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇) 资源下载 完整代码 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) Python 打字小游戏开发,来体验不一样的 ...
- Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)
Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) 前言 游戏素材准备 游戏项目结构 项目里面的类说明 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) Python ...
- python:pygame小游戏(三)—— 打字游戏
代码一:实现字符下落的基本功能 """ 打字游戏 1. 声明列表word.xx(x坐标值).yy(y坐标值) 2. 创建init()函数,初始化三个列表 3. 第四部分: ...
- python打字游戏增加开始页面_pygame实现打字游戏
本文实例为大家分享了pygame实现打字游戏的具体代码,供大家参考,具体内容如下 1.基本代码 下面的代码完成了每一秒在界面的顶部随机生成一个新的字母 # -*- coding=utf-8 -*- i ...
- pygame简单的俄罗斯方块游戏和简单的打字游戏
1.pygame简单的俄罗斯方块游戏 一.对战的方块管理 定义一个BlockManage管理对战的方块 根据BlockManage根据传入的玩家id返回方块,保证每个玩家拿到的方块序列是一致的,所以在 ...
- java d打字游戏_java实现快速打字游戏
本文实例为大家分享了java实现打字游戏的具体代码,供大家参考,具体内容如下 import java.util.Random; import java.util.Scanner; public cla ...
- python列表两两相减_用Python做打字软件,让你的打字快如闪电!附超详解和源码链接
版本正在更新--,目前1.3.2 项目结果 GIF制作十分粗劣,自己看着都揪心,不过基本看清楚了 详细解释 下面我会详细解释一下,如果不看,就不看吧,直接向下看源码,传送门 基本结构+标题标签+提示+ ...
- 《Python和Pygame游戏开发指南》——2.16 pygame.display.update()函数
本节书摘来自异步社区<Python和Pygame游戏开发指南>一书中的第2章,第2.16节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...
最新文章
- operate XML file (Open,Insert)
- sql substr切割字符串
- Oracle子查询无法使用order by如何办?
- [NOI2015]软件包管理器
- 基于matlab的局放仿真,基于MATLAB/Simulink系统仿真权威指南
- Tensorflow2.0开启,从此忘记1.*版本
- access 命令不符 等级考试_大学四年不白过,大家都在考这些(计算机等级考试电子书)...
- 使用python连接kafka
- 给力!一行代码躺赚普通程序员 10 年薪资!
- 资深开发者告诉你“页游转手游”应注意的五大点
- 完整的python项目实例-python完整项目
- java socket监听_Java -socket接口(监听)
- Webpower中国区发布《2015年中国酒店旅游行业邮件营销市场报告》
- 具有增删改查及英汉互译功能的英汉互译词典
- 开发、运维、UI设计、产品经理等岗位的薪酬体系大曝光!
- 设置Visual Studio代码折叠
- uniapp实现拨打电话跳转手机拨号盘
- 父子组件传值之(子传父)
- 手持两把锟斤拷,口中疾呼烫烫烫
- 算法导论学习笔记1_循环不变式