学英语记单词

最近看到好多同学在专升本,死记硬背的记单词,手抄的单词一页接着一页,不管是公众号,还是刷抖音,导出都能看到关于学英语、背单词的广告,教你快速提升。

不知道现在同学们背单词买的什么辅导学习的材料。

今天,我们就使用Python来做一个英语单词自测工具!

# -*- coding:utf-8 -*-
import pygame
import pygame.locals
import random
from win32con import WM_INPUTLANGCHANGEREQUEST
import win32gui
import win32api
import copyclass window_bg:def __init__(self, x, y):pygame.init()self.x = xself.y = yself.window = pygame.display.set_mode((x, y))self.clock = pygame.time.Clock()self.fontobject = self.read_fontobject()  # 字体类self.num = 0self.data_list_cache = [{"location": [int(x / 4), 0], "Font": "你好","data":"hello"},{"location": [int(x / 4), 0], "Font": "(尤指苦战后获得的)胜利,成功,成就", "data": "triumph"},{"location": [int(x / 4), 0], "Font": "发誓;做保证", "data": "pledge"},{"location": [int(x / 4), 0], "Font": "摆姿势;造成、导致", "data": "pose"},{"location": [int(x / 4), 0], "Font": "例行公事;常规;惯例", "data": "routine"},{"location": [int(x / 4), 0], "Font": "赢得", "data": "attain"},{"location": [int(x / 4), 0], "Font": "基础", "data": "foundation"},{"location": [int(x / 4), 0], "Font": "资源;自然资源", "data": "resource"},]self.data_list = []self.english_list = []  # 翻译存放处self.NUM_code = list(range(48, 57 + 1))  # 数字按键所对应的码self.ABC_code = list(range(97, 122 + 1))  # 字母按键所对应的码self.NUM_ABC_code = self.NUM_code + self.ABC_code  # 数字与字母按键所对应的码# 切换成英文输入法def Ctrl_English(self):# pygame只支持英文输入hwnd = win32gui.GetForegroundWindow()win32api.SendMessage(hwnd, WM_INPUTLANGCHANGEREQUEST, 0, 0x0409)def read_fontobject(self):pygame.font.init()  # 字体初始化return pygame.font.Font('msyhbd.ttc', 15)# 显示输入框def show_ziti(self, import_label, string_list, x, y, wide, height):  # 输入标签,输入信息列表,位置x,位置y,宽度,高度message = import_label + ''.join(string_list)pygame.draw.rect(self.window, (0, 100, 100), (x, y, wide, height), 0)  # 0是全覆盖pygame.draw.rect(self.window, (255, 255, 255), (x - 2, y - 2, wide + 4, height + 4), 1)  # 1是边框if len(message) != 0:self.window.blit(self.fontobject.render(message, 1, (255, 255, 255)), (x, y))def pygame_event_get(self):for event in pygame.event.get():# 事务处理(按键鼠标)if event.type == pygame.QUIT:exit()if event.type == pygame.locals.KEYDOWN:  # 有键盘按下# print('===',event.unicode)  #按键所对应的值# print(event.key)   # 按键所对应的码if event.unicode == '':  # 输入法不是英文的,改成英文if event.key in self.NUM_ABC_code:  # 字母与数字按键所对应的码self.Ctrl_English()event.unicode = chr(event.key)if event.key == pygame.locals.K_BACKSPACE:  # 删除键self.english_list = self.english_list[0:-1]elif event.key in self.ABC_code:  # 账号密码支持小写字母与数字self.english_list.append(event.unicode)elif event.key == pygame.locals.K_RETURN:  # 回车键for i_index, i in enumerate(self.data_list):if i["data"] == ''.join(self.english_list):self.data_list.pop(i_index)self.english_list=[]return# 位置下移,到一定的位置就消失for i_index, i in enumerate(self.data_list):i["location"][1] += 0.5if i["location"][1] > self.y - 200:self.data_list.pop(i_index)self.num += 1if self.num % 150 == 0:# 深度复制data = copy.deepcopy(random.choice(self.data_list_cache))self.data_list.append(data)def pygame_display_update(self):self.window.fill((0, 0, 0))  # 背景色self.show_ziti('翻译:', self.english_list, 300, 650, 200, 20)for i in self.data_list:self.show_ziti(i["Font"], [], i["location"][0], i["location"][1], 300, 20)pygame.display.update()self.clock.tick(26)  # 窗口1秒刷新多少次a = window_bg(800, 700)
while True:a.pygame_event_get()a.pygame_display_update()

先来看看实现效果吧…程序输入你想测试的单词,然后系统出来你所输入的单词,答对就会消失,一直反复循环,不信你还记不住喽...

还在手写记单词?使用Python开发练习英语单词,助你逆袭单词记忆王!相关推荐

  1. 还在用背单词App?使用Python开发英语单词自测工具,助你逆袭单词王!

    学英语广告 最近也许是刚开学的原因,不管是公众号,还是刷抖音,导出都能看到关于学英语.背单词的广告. 不知道现在学生们背单词买的什么辅导材料.反正我们上学那会,<星火阅读>特别的火.记得当 ...

  2. python单词软件哪个好_还在用背单词App?使用Python开发英语单词自测工具,助你逆袭单词王!...

    学英语广告 最近也许是刚开学的原因,不管是公众号,还是刷抖音,导出都能看到关于学英语.背单词的广告. 不知道现在学生们背单词买的什么辅导材料.反正我们上学那会,<星火阅读>特别的火.记得当 ...

  3. 记一次electron开发桌面英语(自用,类歌词)

    记一次electron开发桌面英语(自用,类歌词) 晒一下自己的考试成绩单,不感兴趣可以跳过 制作初心 进入正题 功能 安装(略) 项目结构目录 package.json main.js index. ...

  4. 还在手写代码?用了这个工具,不用一行代码也能做出网站

    制作网站用什么,Dreamweaver 还是Fireworks? 现在,用 GPT-3 就可以. 一位来自旧金山的程序员小哥做了款名为 debuild.co 的网页制作软件,只需要和 GPT-3&qu ...

  5. python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...

    作为一名19考研er 距离我考研结束已经过去大半年 想和大家分享一下当初背单词的骚操作 众所周知 考研英语"得阅读者得天下" 提升词汇量又是提高阅读的关键 那么问题来了? 大家都是 ...

  6. 票房破五十亿!用Python分析李焕英为啥能逆袭《唐探3》

    2021年的春节假期就这么结束了,本届春节档的中国电影总票房达到了78亿元!这还真是:就地过年催生"史上最强春节档"啊! 其中<唐人街探案3>率先打破多项记录,但因其广 ...

  7. 单身情人节,看看这位Python小哥如何完成人生的逆袭!

    出品 | CDA数据分析师 今天是2020年的第一个情人节,给单身的Python工程师和程序员们介绍一个男人的故事,一个程序员小哥的人生逆袭之旅,希望可以给单身的您,带来一些脱单的秘诀或启发. 他就是 ...

  8. java中利用框架传入相同的url实现crud操作_还在手写CRUD代码?这款开源框架助你解放双手!

    相信很多朋友在项目中使用的ORM框架都是MyBatis,如果单用MyBatis来操作数据库的话,需要手写很多单表查询的SQL实现.这时候我们往往会选择一个增强工具来实现这些单表CRUD操作,这里推荐一 ...

  9. 用python写行列式_用Python开发线性代数算法(一) | 手写行列式算法的实现

    和往年不同,今年的"五一"假期,没有出去游玩.一个原因是疫情还没有过去,小心点为好:另一个原因就是最近天气太热,懒得出门 .当然了,不出门也不能窝在被窝里看片儿,作为四十多岁的大叔 ...

  10. 还在手写CURD代码?这三件套任意一套都能免去手写CURD确定不来看看?——JPA+MP+TK 免手写CURD三件套

    JPA+MP+TK CURD三件套--通用CURD神器 JPA+MP+TK CURD套装职能对比 JPA职能分析 MP与TK职能分析(两者类似) JPA+MP+TK CURD套装性能对比 JPA+MP ...

最新文章

  1. 社区企业云操作系统 (不错的开源虚拟化系统,期待中)
  2. c#中不同类中变量的引用方法
  3. Skipping failed optional dependency /chokidar/fsevents
  4. IOS 调用系统照相机和相册
  5. unity socket传输图片_python3实现socket传输图片
  6. grubbs检测c语言,Grubbs算法检测离群值
  7. 招商银行网站在chrome中 布局出现大问题,如图
  8. macBook户外省电有技巧,2招即可找出高耗电应用
  9. shell介绍,date命令,shell变量
  10. EOVA的下拉级联实现过程
  11. 机器学习特征工程之皮尔森相关系数 pearson correlation of features
  12. 轻松调整C盘分区大小
  13. 音乐flac怎么转为mp3?
  14. 前端JS获取ModelMap的值 2020-09-03
  15. 什么是创意啊?这才是创意
  16. HTML 樱花飘落界面效果
  17. Python自然语言处理 10 分析语句的含义
  18. mp3播放器 遍历本地音乐显示在listview上,点击每一项item并传送音乐地址
  19. 刘磨叽恶狠狠地瞪了了张s
  20. 关于32位系统中int、float、short、double等占多少个字节

热门文章

  1. matlab中 .name,matlab中propertyname都有什么
  2. mysql的填充因子_数据库SQL Server – 索引 – 填充因子
  3. codeforce 460B Little Dima and Equation
  4. html如何在搜索栏里加放大镜,css 如何在html页面上输出一个“放大镜”形状呢?...
  5. HTML+CSS+JavaScript实现放大镜效果
  6. 工商银行转账出现java_工行企业网银转账提示信息代码4506是什么意思?
  7. 图片资源加密,Lua文件加密详解
  8. linux杀死ltp进程,LTP套件使用方法详解
  9. 7.2 Python 实例11-自动轨迹绘制
  10. 个人和企业拥有专利的25个好处!