崩溃-ing

西安已经下了两周雨了,大家以为到头了么?不仅仅才是开始,未来的一个月还要接着下,简直崩溃啊!

昨天被逼着去加班,所以早期发了一篇娱乐帖,还好没有掉粉…要谢谢各位的包容啊,哈哈。

学英语广告

最近也许是刚开学的原因,不管是公众号,还是刷抖音,导出都能看到关于学英语、背单词的广告。

不知道现在学生们背单词买的什么辅导材料。反正我们上学那会,《星火阅读》特别的火。记得当时随书还送一个红色的塑料膜。书中英语单词是红色的其他文字是黑色的。背单词的时候先把塑料膜盖在书上,然后就只能看到翻译和音标,从而起到自测英语的作用。一页看完了取下塑料膜,再核对哪些单词记错了。就这么一个无脑的功能,当时的我们都觉得好犀利,谁没一本这样的背单词书,都不好意思出去装13啊!

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

需求分析

既然上面说了那么多的怀旧梗,那今天就仿照着从前的方式,做一个稍微高端一些的单词自测工具。

先来看看实现效果吧…程序输入你想测试的单词数量,然后系统自动生成html测试题,之后你就可以通过速记与查看来检测哪些单词你没记住喽…

找单词

背单词我们得先有单词吧?从百度找了一篇2019cet4英语单词表!

左图下载的word文档的内容包含各种广告,为了方便,我直接把它全部拷贝存在文本文档中,类似右图。

观察保存的文本内容,我们可以通过 斜杠’/‘

生成测试题

我们准备好了试题,怎么生成测试题呢?之前学习excel读写的时候,写过一篇英语单词自测的文章:

先生成单词音标,然后用户输入翻译,最后再D列追加正确的翻译…

最近没怎么学习web端的知识,所以今天我们来写一套自动生成html测试题的练习吧!

准备基础html文档root.html:

清风Python英语自测工具

清风Python英语单词自测工具

序号翻译音标单词翻牌

{content}

var word = $("." + $(this).attr('line'));

if (word.is(':visible')) {

word.slideUp();

} else {

word.slideDown();

}

});

其中content的内容,为我们等下自动生成试题…

其中引入的bootstrap、jQuery,都放在代码同级的basic.html文件夹中…

Python代码编写

Python的代码实现起来也比较简单,读取用户测试数量,然后random获取随机测试内容,拆分数据后进行html内容组装,最终生成自测html练习题:# -*- coding: utf-8 -*-

# @Author   : 王翔

# @WeChat   : King_Uranus

# @公众号    : 清风Python

# @Date     : 2019/9/16 01:14

# @Software : PyCharm

# @version  :Python 3.7.3

# @File     : EnglishWordsTest.py

import os

import random

import re

class EnglishWordsTest:

def __init__(self):

self.root_path = os.path.dirname(os.path.realpath(__file__))

with open(os.path.join(self.root_path, 'basic', 'cet4.txt'), encoding='utf-8') as f:

_all_words = f.readlines()

self.html = ""

self.clean_data(random.sample(_all_words, text_num))

def clean_data(self, data):

exam_data = list(map(lambda x: re.sub("\s", '', x).split('/'), data))

for num, line in enumerate(exam_data, start=1):

self.html += """

{0}{3}{2}

{1}

查看

""".format(num, *line)

with open(os.path.join(self.root_path, 'basic', 'root.html'), encoding='utf-8') as f:

data = f.read()

with open(os.path.join(self.root_path, 'exam.html'), 'w+', encoding='utf-8') as f:

f.write(data.replace('{content}', self.html))

if __name__ == '__main__':

print("请输入所需测试的单词数量(范围:1-100):")

while True:

try:

text_num = int(input())

if 1 < text_num < 100:

break

except ValueError:

pass

print("请仔细阅读输入范围!")

EnglishWordsTest()

关于文件

cet4的单词、涉及到的css、js基础模板,就不在文章中赘述了…

如果大家喜欢这个Python的英语测试题联系,公众号后台回复学英语即可获取整套代码及文件。

The End

本文来自“清风Python”公众号

python自测单词软件_还在用背单词App?使用Python开发英语单词自测工具,助你逆袭单词王!...相关推荐

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

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

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

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

  3. 电脑测速软件_不服跑个分!常见固态硬盘测速工具性价比盘点(上)

    尽管不像CPU的核心或线程数量那样直观,固态硬盘性能在近几年电脑硬件中确实增长迅速.不同类型的测速软件也是五花八门,不服跑个分之后,我们能从分数中得到什么?又会因为这次跑分对硬盘产生多少写入量? 笔者 ...

  4. python积木编程软件_积木编程下载-积木编程app下载v1.0.0-西西软件下载

    积木编程是一款专业的编程学习软件,平台为用户提供多种编程模板使用,还收纳了丰富的编程知识方便用户随时在线学习,更快掌握编程相关技能和知识,专业题库.优质课程.模拟实战都能帮助用户快速提升编程水平. 积 ...

  5. python实现数据可视化软件_基于Python实现交互式数据可视化的工具

    作者:Alark Joshi 翻译:陈雨琳 校对:吴金笛 本文2200字,建议阅读8分钟. 本文将介绍实现数据可视化的软件包. 这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课 ...

  6. python写抢火车票软件_用 Python 代码自动抢火车票

    市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单.下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事. 该代码仅供参考,主要用于大家沟通 ...

  7. python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...

    先上图  不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...

  8. 电脑测速软件_网速慢,怎么办,教你测速,教你解决方案

    网速慢.网页慢.视频卡.游戏卡,如何判断自己的宽带速率是否有问题,本期我们来讨论下,如何正确测试网速,信道干扰.2.4G与5G信号.IPTV测速. 一.电脑测速 受到无线环境影响,无线性能瓶颈等多方面 ...

  9. python如何并发运行2个软件_如何利用并发性加速你的python程序(二):I/O 绑定程序加速...

    原标题:如何利用并发性加速你的python程序(二):I/O 绑定程序加速 雷锋网 AI 科技评论按,本文是工程师 Jim Anderson 分享的关于「通过并发性加快 python 程序的速度」的文 ...

  10. python是语言还是软件_程序开发语言之Python:是追逐还是坚守?

    Python作为计算机程序设计语言的其中一种,最初是被设计用于编写自动化脚本(shell),随着版本的不断更新.语言新功能的添加和机器学习的兴起,Python从2017年开始受到广泛关注. Pytho ...

最新文章

  1. 为什么加上log4j2.version配置就可以更新log4j2的版本?
  2. 黑苹果关机重启后蓝牙连接不上_手机要关机吗,要贴膜吗,要套壳吗?看完这条,都有答案了_政务_澎湃新闻...
  3. [cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse编译Fatal signal 11报错-都是字符赋值惹的祸...
  4. 学习笔记(36):Python网络编程并发编程-IO模型介绍
  5. JAVA——附加作业2——情人节送花
  6. Wireshark工作笔记-TCP的状态解析,以及建立连接与关闭连接
  7. mycat1.4.1小白用户入门(一)
  8. Json for the .NET Compact Framework
  9. eclipse 连 mysql 数据库 jdbc下载
  10. 通过VBA将excel数据导入至word文档
  11. android 基站信息说明,安卓android手机查看基站信息
  12. 链家数据爬取+地图找房
  13. android中menu重写哪些方法,在Android中Menu的使用
  14. 韦福怎么编译c 语言,c语言第1章 绪论.ppt
  15. Python环境安装 官网下载 / 迅雷下载
  16. 【Notepad++】Notepad++格式化JSON数据
  17. Idea scalac: Scala compiler JARs not found (module ‘XXXX‘): C:\Users\nanhu\.cache\co......
  18. java crm 进销存 websocket即时聊天发图片文字 好友群组 SSM源码
  19. MySQL数据库相关资料
  20. 求主对角线上各元素之和(C语言)

热门文章

  1. 安装VS2008的时候Windows Mobile 5.0 SDK R2 for pocket pc错误解决方案
  2. SQL Server 索引中的碎片和填充因子
  3. html在搜索按钮中加放大镜,CSS3 搜索按钮动效 - 放大镜图标变叉叉
  4. 【提供代码获取方式】matlab使用风羽法画大气环流
  5. 经典成就辉煌:从3Dmark看GPU发展之路
  6. 差距几何 Vista与XP系统性能对比测试(下)
  7. 计算机视觉可解释性——卷积神经网络中间层的可视化
  8. linux支持的阵列硬盘柜,在Linux上玩好 硬盘 阵列
  9. Greedy Analysis Strategies
  10. 文氏桥振荡电路多类分析 LM386 DZ006套件