python

用编程给你的英语学习加点料

2019-10-01  本文已影响0人  TOP生物信息

批量查询英文单词的功能实现之后,我又做了一些改进,现在已经可以真正地帮助我这样的英语渣渣换一种方式学英语单词了。
(其实还有一些想法,等以后有时间再做吧)

目前有4个小功能:

1.批量查询单词
$ perl query_words.pl some_words.txt dictionary.txt

some_words.txt是仅有1列的单词文件;dictionary.txt是保存结果的存储文件,如果之前没有会新生成,如果之前有(需要保持文件格式和正常输出格式一致,有6列)就会追加。

$ less dictionary.txt | head -n 2
abused  adj.(尤指药物)滥用的;受虐的|v.滥用;虐待;辱骂(abuse的过去式和过去分词)|  1       0       0       0
ambassador      n.大使;代表;使节|       1       0       0       0

第3列表示查询次数,有时候忘性比较大,一个单词会在不同的时间多次查询,这时根据这一列排序可以挑这些反复查询的单词优先记忆。
第4列表示测试次数
第5列表示测试正确次数
第6列表示测试正确率
这3列和后面有关

在一次查询操作之后,可能会有一些单词查不出来(几十分之一概率),这些单词仍会保留在一个叫“some_words.txt”的文件中

下面的Python程序是在Windows PowerShell中运行的,cmd也可以,Python的IDE也可以。不过git bash下面运行中文会乱码,Linux我还没试。

2. 记忆模式

说白了就是告诉程序“我要认多少多少个单词,你给我随机挑一些出来吧”

python .\remember.py .\dictionary.txt 4

4表示单词数量

Enter键显示意思,以及进入下一个单词

有些单词会认就可以了,而有些单词需要会写,所以单词测试我分了两个。最好一开始就用两个文件分别保存这两类单词。

3. 根据英文选意思
 python .\test_En2Ch.py .\dictionary.txt 5

1, 2, 3, 4就可以了。有一些中文解释带有英文,我已经屏蔽了,所以可以看到三个点...
完了会给你一个简单的统计:

This time you test 5 words
The right ratio is 60.00%



Here are some words that you made a wrong choice on:

ambassador      n.大使;代表;使节|

appalled        adj.惊骇的;丧胆的|v.使胆寒;使惊骇(appall的过去式和过去分词)|

同时这些单词的测试次数,测试正确次数等(第4, 5, 6列)都已经更新了。程序结束后,这些信息都会更新到dictionary.txt文件中。

4. 根据意思写单词
python .\test_Ch2En.py .\dictionary.txt 4

程序运行完之后,输出信息跟上一个模块一样:简单统计+错误单词

上一篇下一篇

猜你喜欢

热点阅读