我们学习计算机的,总是免不了要和英语接触,有时候,程序报错,冒出一大堆英语报错信息,看都看不懂,学习需要用到一些英文网站的时候,有的英文网站还翻译不了,界面全是英文,对于博主这种英语有点差的,不免使人有些头大,所以,为了让和博主一样英语不好的同学,一边学习python,一边学习英语单词,博主在这给大家分享一个博主自己设计的代码程序,望别嫌弃。
接下来大家就来看看如何实现的吧
首先我们先定义好我们要实现的功能
a.编写一个程序,可以帮助快速背记英语单词。运行程序后,当用户输入0,可以显示英语单词要求用户写出汉语;当用户输入1,可以显示汉语,要求用户写出英语单词。
b.可以读取电脑上的文档,在文档中写入自己想要背诵的英语单词和翻译,不用再源代码里一个个添加。
c.可以统计自己背对了几个英语单词,正确率是多少。
d.英语单词有的是大写的,有的是小写的,如果自己从键盘上输入的英语单词大小写与字典中存储的单词不一致的话,会导致提示拼写错误,如何忽略大小写的问题。
import numpy as np #导入第三方库
import time as t
word_dict = {} #定义用于存储英语单词的空字典
sum = 0 #用于统计背诵正确的单词数
with open('E:\\englist_word.txt', 'r', encoding='utf-8') as f: #打开文件,设置可读模式,设置编码方式可以读取中文
for line in f: #用line 遍历文件中的单词和中文翻译
# 删除每行的换行符并以逗号分隔
word,translation = line.strip().split(' ')
# 将英文单词作为键,中文翻译作为值存入字典
word_dict[word] = translation
print('请选择背单词方向(0-看英文单词写中文,1-看中文写英语单词):')
t.sleep(1) #停顿一秒再运行下面的代码,可用可不用
a = int(input()) #用来接收键盘上输入的值
print('请设置每个单词的停留时间(1-10)秒:')
t.sleep(1) #停顿一秒再运行下面的代码,可用可不用
b = int(input()) #用于接收从键盘上输入中英文停顿的时间
#循环遍历字典中的值 for key,value in dictname.items()
if a ==0 :
for key,value in word_dict.items() :
print(key)
print("请写出中文单词:")
word = str(input())
if word == value :
print("你拼写正确")
sum = sum + 1 #当你拼写正确的时候,sum+1
else:
print("你拼写错误")
t.sleep(b)
print("==================英语单词背诵完成============================")
print('您一共背了',len(word_dict),'个英语单词,一共答对了',sum,'个英语单词','正确率为:',sum/len(word_dict)*100,'%')
if sum == len(word_dict) : #设置判断语句,如果拼写全对,则输出以下的语句
print("您实在是太厉害了,全对呢")
elif a == 1 :
for key,value in word_dict.items():
print(value)
print("请写出英文单词:")
word = str(input())
if word.lower() == key.lower(): #lower()将英文字符串全部变成小写,upper()将所有英文字符串变成大写
print("你拼写正确")
sum = sum + 1 #当你拼写正确的时候,sum+1
else:
print("你拼写错误")
t.sleep(b)
print("==================英语单词背诵完成============================")
print('您一共背了',len(word_dict),'个英语单词,一共答对了',sum,'个英语单词','正确率为:',sum/len(word_dict)*100,'%')
if sum == len(word_dict) :
print("您实在是太厉害了,全对呢")
else:
print('你的输入有误,应用结束,请重新运行!')
需要注意的是,博主读取的txt文档是博主自己定义好的,每一行包含一个英文单词和翻译,中间你可以用逗号或者一个空格隔开,在这个文档里,你可以提前输入设置好你想要背的英语单词,但是需要注意的是,不要乱加空格或者其他负号,也不能有空行。
大概像下面这个样子:
拓展与提升
当然,大家是不是发现了,博主上面的英语单词都是自己手打上去的,虽然能自主选择自己想要背诵的英语单词,不会出现其他的英语单词,但对于英语比较好的,想背更多英语单词的同学,要一个一个英语单词打上去,是不是就有些麻烦了呢?
那么,我们是不是可以拓展提升一下,利用python代码,爬取网站上的英语单词和翻译,用逗号或空格隔开单词和翻译,将其存入txt文本中,然后我们再用代码来读取这个文档。这样我们是不是就可以实现了不用手敲单词了。
有兴趣的同学可以来完善这个程序。不会做的同学也不要着急,博主会在后面继续给大家分享,你也可以私信博主。写作不易,希望大家可以给博主点个关注支持支持,你们的支持,就是博主继续写作下去的动力,感谢大家。