自己在备考英语竞赛,但是网上单词软件现有的词库都没有包含,索性自己写一个小程序,以来自用。
没有花里胡哨的功能,但自用刷词也够用了。
实现功能
模拟练习模式、考试模式、查看词库模式(可直接修改词库)
模拟练习模式:
-
又细分为三种模式:正向答题(看英文写中文)、反向答题(看中文写英文),混合答题
-
进入模式后可选择题数量,回车开始答题
-
每完成一道题即可知道自己答对与否,以便反复进行记忆
-
关闭程序即可结束
import random
def setting_a():#进行开始练习之前的一些设定
print("请设置本次练习模式\n1.看英文写中文\t2.看中文写英文")
P=input("")
print("请设置本次练习题量:")
O=input("")
return P,int(O)
def see_english_a(O):#看英文答中文模式
n=input("准备好了按回车开始开始吧")
while n=='':
wrong=list()#创建一个装错题的列表
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
key=(L[x][0]) #选中题目
right_key=L[x][1] #设定答案
print("\n"+key) #apple
user_key=input("") #苹果
if user_key == right_key:
print("回答正确")
else:
wrong.append((L[x]))
print("回答错误,正确答案是:{}".format(right_key))
i+=1
n='1'
def see_chinese_a(O):
n=input("准备好了按回车开始开始吧")
while n=='':
wrong=list()
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
print("回答正确")
else:
wrong.append((L[x]))
print("回答错误,正确答案是:{}".format(right_value))
i+=1
n='1'
考试模式:
-
又细分为三种模式:正向答题(看英文写中文)、反向答题(看中文写英文),混合答题
-
进入模式后可选择题数量,回车开始答题
-
在完成考试前不会知道题目正确与否以及考试情况,充分还原现实中的考试
-
结束考试后,可以知道答题情况(正确率)以及错题回顾
import random
def setting_s():
print("请设置本次练习模式\n1.看英文写中文\t2.看中文写英文\t3.混合模式")
P=input("")
print("请设置本次练习题量:")
O=input("")
return P,int(O)
def see_english_s(O):
n=input("准备好了按回车开始吧")
while n=='':
z=0 #记录正确题数
wrong=list()
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
key=(L[x][0]) #选中题目
right_key=L[x][1] #设定答案
print("\n"+key) #apple
user_key=input("") #苹果
if user_key == right_key:
z=z+1
else:
wrong.append((L[x]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
def see_chinese_s(O):
n=input("准备好了按回车开始吧")
while n=='':
wrong=list()
z=0 #记录正确题数
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
z=z+1
else:
wrong.append((L[x]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
def mixed_s(O):
n=input("准备好了按回车开始吧")
while n=='':
wrong=list()
z=0 #记录正确题数
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
y = random.randint(0,1)
if y ==1: #see_chinese
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
z=z+1
else:
wrong.append((L[x]))
i+=1
elif y==0: #see_english
value=(L[x][0]) #从库列表中取一个数
right_value=L[x][1]
print("\n"+value) #apple
user_value=input("") #苹果
if user_value == right_value:
z=z+1
else:
wrong.append((L[0]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
查看词库模式:
-
直接打开“词库.xlsx"文
-
在此模式下,可直观地看这个词库里的内容进行背记。同时也可直接增删改查词库中的内容,保存后再次运行程序即可
import os
os.system('Python\背单词\词库.xlsx')
完整程序
除了上面的小模块的实现,还有一些包括导入“词库.xlsx”的代码,主要是用的openpyxl来实现
请看完整程序,可直接把路径改成本地路径进行学习。
import random
from openpyxl import *
import os
#从词库获取列表
te1 = load_workbook(u"Python\背单词\背单词程序\词库.xlsx")
sheetnames1 = te1.sheetnames
t1 = te1[sheetnames1[0]]
WORDS={}
for i in range(1,t1.max_row+1):
english = t1[f'A{i}'].value #英文
chinese = t1[f'B{i}'].value #中文
WORDS[english]=chinese
#练习
def setting_a():
print("请设置本次练习模式\n1.看英文写中文\t2.看中文写英文")
P=input("")
print("请设置本次练习题量:")
O=input("")
return P,int(O)
def see_english_a(O):
n=input("准备好了按回车开始开始吧")
while n=='':
wrong=list()
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
key=(L[x][0]) #选中题目
right_key=L[x][1] #设定答案
print("\n"+key) #apple
user_key=input("") #苹果
if user_key == right_key:
print("回答正确")
else:
wrong.append((L[x]))
print("回答错误,正确答案是:{}".format(right_key))
i+=1
n='1'
def see_chinese_a(O):
n=input("准备好了按回车开始开始吧")
while n=='':
wrong=list()
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
print("回答正确")
else:
wrong.append((L[x]))
print("回答错误,正确答案是:{}".format(right_value))
i+=1
n='1'
#考试
def setting_s():
print("请设置本次练习模式\n1.看英文写中文\t2.看中文写英文\t3.混合模式")
P=input("")
print("请设置本次练习题量:")
O=input("")
return P,int(O)
def see_english_s(O):
n=input("准备好了按回车开始吧")
while n=='':
z=0 #记录正确题数
wrong=list()
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
key=(L[x][0]) #选中题目
right_key=L[x][1] #设定答案
print("\n"+key) #apple
user_key=input("") #苹果
if user_key == right_key:
z=z+1
else:
wrong.append((L[x]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
def see_chinese_s(O):
n=input("准备好了按回车开始吧")
while n=='':
wrong=list()
z=0 #记录正确题数
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
z=z+1
else:
wrong.append((L[x]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
def mixed_s(O):
n=input("准备好了按回车开始吧")
while n=='':
wrong=list()
z=0 #记录正确题数
for i in range(0,O):
L=list(WORDS.items())
x=random.randint(0,len(L)-1)
y = random.randint(0,1)
if y ==1: #see_chinese
value=(L[x][1]) #从库列表中取一个数
right_value=L[x][0]
print("\n"+value) #苹果
user_value=input("") #apple
if user_value == right_value:
z=z+1
else:
wrong.append((L[x]))
i+=1
elif y==0: #see_english
value=(L[x][0]) #从库列表中取一个数
right_value=L[x][1]
print("\n"+value) #apple
user_value=input("") #苹果
if user_value == right_value:
z=z+1
else:
wrong.append((L[0]))
i+=1
if O-z==0:
print("本次考试结束,一共完成{}题。\n正确率100%".format(O))
else:
print('本次考试结束,一共完成{}题。\n其中正确{}题,错误{}题\n本次您的正确率为:{:.2%}'.format(O,z,O-z,z/O))
print("错误单词如下{}".format(wrong))
n='1'
#主程序
print(
"""
欢迎使用短语背记系统
模拟练习请按A 进入考试请按S 查看题库请按D
"""
)
M=input()
if M=='A'or M=='a':
P,O=setting_a()
if P=="1":
see_english_a(O)
if P=="2":
see_chinese_a(O)
elif M=='s'or M=='S':
P,O=setting_s()
if P=="1":
see_english_s(O)
if P=="2":
see_chinese_s(O)
if P=="3":
mixed_s(O)
else:
os.system('Python\背单词\背单词程序\词库.xlsx')
词库样例:
写在最后:文章来源:https://www.toymoban.com/news/detail-485619.html
初学者的小作品而已,也没花太多时间,希望大家能多提一些建议,谢谢~文章来源地址https://www.toymoban.com/news/detail-485619.html
到了这里,关于一个简洁的背单词、背短语python程序——英文背记系统(自用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!