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(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...
最新文章
- web3j官网的完整中文翻译(java开发区块链以太坊应用的开源类库)
- C++ 内存泄漏检测:valgrind和AddressSanitizer
- c2065 未声明的标识符 解决ok
- 周梁伟:聊天室架构 如何跳出传统思维来设计?
- springboot websocket发送和接收消息代码资源下载
- 计算机教师应该读的书籍,信息技术教师读书心得
- vue限制只能输入数字_vue的input中,如何限制只能输入number
- html+input改变图标,JS Input里添加小图标的两种方法
- python写ini文件_Python读写ini文件
- 全面详解互联网企业开放API的 “守护神”
- python文件或目录损坏且无法读取,data\sogoupy\verify.ini已损坏且无法读取,啥意思?谢谢?...
- APP在推广之渠道为王(二 )
- MES系统在汽车零部件行业的应用
- js点击弹框优酷视频,并控制视频播放和暂停及重新载入的方法
- NOI Online 2020 Round1 准备计划
- 蓝牙4.0BLE中协议栈详解
- ubuntukylin-16.04安装
- 分段函数c语言编程noi,NOI1.4-13分段函数
- JAVA大厅有100盏灯,100人100盏灯(详解)
- shell教程(二) 四种工作模式