Python打字练习小游戏源代码

Python代码狂人 Python代码大全

Python打字练习小游戏源程序,随机产生一串字符,可对打字练习的正确率和时间进行统计,运行截图如下:

from tkinter import *

import random

import string

from datetime import datetime

root = 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 = 20

self.letterStr = ''.join(random.sample(string.printable.split(' ')[0], self.letterNum))

self.examination_paper = ''

def time_calc(self):

self.time_list.append(datetime.now())

yield

def 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]).seconds

self.examination_paper = v2.get()

if len(self.examination_paper) > self.letterNum:

v3.set("输入数据有误,作答数大于考题数")

else:

right_num = 0

for z in range(len(self.examination_paper)):

if self.examination_paper[z] == self.letterStr[z]:

right_num += 1

else:

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打字练习小游戏源代码相关推荐

  1. python玩扫雷_python实现扫雷小游戏

    前面我们用python实现了贪吃蛇.坦克大战.飞船大战.五子棋等游戏 今天我们用python来实现一下扫雷游戏 本游戏代码量和源文件较多 可以从我的GitHub地址中获取 构建地雷区import ra ...

  2. python五子棋代码_python实现五子棋小游戏

    本文实例为大家分享了python实现五子棋小游戏的具体代码,供大家参考,具体内容如下 暑假学了十几天python,然后用pygame模块写了一个五子棋的小游戏,代码跟有缘人分享一下. import n ...

  3. bat小游戏代码大全_Python打砖块小游戏源代码

    这次用Python实现的是一个接球打砖块的小游戏,最核心的就是:碰撞检测的数学模型 程序运行截图: 其实,编程问题到最后就是数学问题,这个游戏涉及到2D圆形与矩形的碰撞检测问题: 碰撞检测原理:通过找 ...

  4. 利用python制作拼图_python制作拼图小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理介绍 游戏简介: ...

  5. python象棋编程_Python开发象棋小游戏(绘制棋盘)

    上一篇中,我们缕清了思路,知道了如何写,怎么做,从哪入手,这一篇,我们就正式开始敲代码了,编程使我快乐,对吧,emm~~~ 还记得这张图吧: 编程完成 好了,向着目标,进发了... 程序中牵扯到的函数 ...

  6. Python实现和电脑猜拳的小游戏源代码

    和小伙伴玩时,我们经常会用到猜拳来决定谁来表演节目.我们今天来写一个和电脑玩猜拳的程序,话不多说,直接看代码: import random num = 1 yin_num = 0 shu_num = ...

  7. 【Unity3d】带你制作一款类似于金山打字之生死时速的小游戏

    上篇文章博主介绍了如何制作一款类似于金山打字的2d小游戏,最近看到了金山打字之生死时速的玩法,决定来复刻一下,还是先分析一下我们要实现哪些功能,第一,打字和小球运动要保持同步进行:第二,小球能够实现距 ...

  8. python逻辑运算的一些流程图_Python猜数小游戏

    使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...

  9. Python背单词记单词小程序源代码,背单词记单词小游戏源代码

    背单词小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意思.支持长按回 ...

最新文章

  1. 钉钉自定义机器人python_使用钉钉自定义机器人发送舔狗日记[70行][python]
  2. Jzoj4458 密钥破解——Pollard-rho
  3. Java知多少(4)J2SE、J2EE、J2ME的区别
  4. CentOS-6.3安装配置SVN
  5. 单元格只能下拉框选_数据有效性定义下拉框只能选择一个如何实现选择多个选项...
  6. C#操作config文件
  7. hadoop生态系统学习之路(十)MR将结果输出到hbase
  8. PyTorch 深度学习:36分钟快速入门——GAN
  9. cmd cvf war包
  10. 解决 ModuleNotFoundError: No module named ‘requests‘ 问题
  11. java 构造方法_Java构造方法和子类构造方法
  12. Linux之镜像源篇
  13. android开发下载网络图片到相册工具类适配Q及以上
  14. 接入与身份认证技术概述
  15. 秀米编辑器如何排版svg推文,以展开为模板讲解
  16. python pil_Python PIL composite()用法及代码示例
  17. 油猴插件(Tampermonkey)安装教程
  18. vue:监听浏览器地址栏变化
  19. Statistics 基础之Hypothesis Tests1---t检验
  20. perforce(p4)相关问题

热门文章

  1. 【优化算法】多目标灰狼优化算法(MOGWO)【含Matlab源码 099期】
  2. 邮箱附件钓鱼常用技法
  3. 什么是区块链(超详细)
  4. 解密!区块链BaaS是什么?
  5. PPT手写笔颜色修改
  6. webpack中配置jquery暴露全局(expose-loader)
  7. 移动端 H5 概念术语(一)
  8. 第一章 初识JVAV
  9. mysql配置报错thread_MySQL错误Forcing close of thread的两种解决方法
  10. 制作web3d动态产品展示的优点