自己在备考英语竞赛,但是网上单词软件现有的词库都没有包含,索性自己写一个小程序,以来自用。

没有花里胡哨的功能,但自用刷词也够用了。

实现功能

模拟练习模式、考试模式、查看词库模式(可直接修改词库)


模拟练习模式:

  1. 又细分为三种模式:正向答题(看英文写中文)、反向答题(看中文写英文),混合答题

  1. 进入模式后可选择题数量,回车开始答题

  1. 每完成一道题即可知道自己答对与否,以便反复进行记忆

  1. 关闭程序即可结束

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)  #appleuser_key=input("")  #苹果if user_key == right_key:print("回答正确")else:wrong.append((L[x]))print("回答错误,正确答案是:{}".format(right_key))i+=1n='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("")  #appleif user_value == right_value:print("回答正确")else:wrong.append((L[x]))print("回答错误,正确答案是:{}".format(right_value))i+=1n='1'

考试模式:

  1. 又细分为三种模式:正向答题(看英文写中文)、反向答题(看中文写英文),混合答题

  1. 进入模式后可选择题数量,回车开始答题

  1. 在完成考试前不会知道题目正确与否以及考试情况,充分还原现实中的考试

  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)  #appleuser_key=input("")  #苹果if user_key == right_key:z=z+1else:wrong.append((L[x]))i+=1if 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("")  #appleif user_value == right_value:z=z+1else:wrong.append((L[x]))i+=1if 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_chinesevalue=(L[x][1])  #从库列表中取一个数right_value=L[x][0]print("\n"+value)  #苹果user_value=input("")  #appleif user_value == right_value:z=z+1else:wrong.append((L[x]))i+=1elif y==0: #see_englishvalue=(L[x][0])  #从库列表中取一个数right_value=L[x][1]print("\n"+value)  #appleuser_value=input("")  #苹果if user_value == right_value:z=z+1else:wrong.append((L[0]))i+=1if 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'   

查看词库模式:

  1. 直接打开“词库.xlsx"文

  1. 在此模式下,可直观地看这个词库里的内容进行背记。同时也可直接增删改查词库中的内容,保存后再次运行程序即可

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)  #appleuser_key=input("")  #苹果if user_key == right_key:print("回答正确")else:wrong.append((L[x]))print("回答错误,正确答案是:{}".format(right_key))i+=1n='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("")  #appleif user_value == right_value:print("回答正确")else:wrong.append((L[x]))print("回答错误,正确答案是:{}".format(right_value))i+=1n='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)  #appleuser_key=input("")  #苹果if user_key == right_key:z=z+1else:wrong.append((L[x]))i+=1if 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("")  #appleif user_value == right_value:z=z+1else:wrong.append((L[x]))i+=1if 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_chinesevalue=(L[x][1])  #从库列表中取一个数right_value=L[x][0]print("\n"+value)  #苹果user_value=input("")  #appleif user_value == right_value:z=z+1else:wrong.append((L[x]))i+=1elif y==0: #see_englishvalue=(L[x][0])  #从库列表中取一个数right_value=L[x][1]print("\n"+value)  #appleuser_value=input("")  #苹果if user_value == right_value:z=z+1else:wrong.append((L[0]))i+=1if 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')

写在最后:

初学者的小作品而已,也没花太多时间,希望大家能多提一些建议,谢谢~

一个简洁的背单词、背短语python程序——英文背记系统(自用)相关推荐

  1. 计算机背小学英语吗,小学英语电脑版背单词软件哪个好_简单背单词软件

    小学英语电脑版背单词软件哪个好_简单背单词软件 内容预览 小学英语背单词软件bother.mp4 小学英语背单词软件boudoir.mp4 小学英语背单词软件confuse.mp4 小学英语背单词软件 ...

  2. python实现oa系统_技术讨论 | 利用Python程序实现某OA系统的自动定位

    前言 本文介绍了笔者通过python程序实现某OA系统自动考勤打卡功能及相关逻辑原理的解析. 声明:本程序仅供Python语言的学习交流用途,笔者不提倡利用程序自动考勤的做法,笔者不对滥用本程序导致的 ...

  3. 背单词的方法:抗遗忘超自然语境记单词01

    背单词的各种方法: 1.谐音法:pest(拍死他)  害虫 n. 2.联想法:elegant=e + leg+ant (一只露出腿的蚂蚁,联想T台的走秀) 优雅的 adj. 3.词根词缀:able;a ...

  4. 轻轻松松背单词软件测试,MBA联考十佳背单词软件测评报告

    背英语单词是最令人头疼的事儿,如果能选择一套适合的背单词软件,对于单词记忆会有事半功倍的效果,然而目前市场上背单词软件到处都是,我们应该选择什么软件呢,这确实是件另人头疼的事,选到好的,对我们的学习也 ...

  5. 英语背单词有用吗_英语学习背单词有用吗?

    背单词,我觉得首先要明确"目的"何在. 首先,我认为--单纯觉得"背"单词能提高英语学习--是不明智的.背了多少单词,不代表会用多少单词.背单词,意在" ...

  6. 学习笔记之如何背单词?——通过看美剧背单词

    学习笔记之如何背单词? 一般分为背单词分为三种境界: 重复记忆:通过死记硬背,重复记忆基础单词,只知道单词的表面意思,不会运用. 精通词义:通过词根词缀词源联想记忆法,知晓单词源头的含义. 环境记忆: ...

  7. 自己的电脑上怎么用python-如何做一个任何电脑都能用的python程序?

    有时候你做好了一个小游戏或者小程序想要打包发送给别人玩或者用的时候,直接发过去,如果别人没有python环境的话,那肯定是用不了的,这时候你需要将程序打包成exe程序. 将python打包成exe的方 ...

  8. python程序在嵌入式linux系统运行。。

    最近在写运行在嵌入式linux系统下的python程序.中间遇到很多坑,接下来我就一一说一下. 从windows编写python脚本,然后将文件复制到嵌入式linux下,运行时报错: 通过vi编辑器查 ...

  9. 做毕设|墨墨背单词+单词本(小程序)01

    今天下午,花了点时间做了"复习"的前端页面,效果和代码如下,为了方便运行,数据用的都是死数据.这个项目的进度我会经常更新,另外,有想要这个项目的可加我qq:626703291. 效 ...

最新文章

  1. android html.fromhtml 字体加粗,Android Html设置TextView的颜色、加粗样式
  2. C++知识点39——运算符的重载概念与分数类实现(上)
  3. Android 实现歌词变红效果
  4. zentao这php,ZenTaoPHP后面计划
  5. 常用 BUG 解决方法
  6. 1003 Express Mail Taking
  7. HDOJ 4253 Two Famous Companies 二分+MST
  8. vs2010 如何更改界面
  9. 去除标题_1688如何通过黄金标题引爆流量?
  10. 20201216指数估值表
  11. Microsoft Visual C ++ Minimum Runtime
  12. linux 隧道服务器,Linux下建立和使用隧道访问IPV6网络的方法 - 如何用隧道搭建ipv6...
  13. 编程需要数学知识吗_编程需要了解数学吗?
  14. LeetCode算法题-镜面反射(Mirror Reflection)
  15. osgEarth指北针
  16. StatusBarManager的使用
  17. 使用acmesh免费开启https(详细概念介绍与操作步骤记录)
  18. java8 .map是什么意思_JDK8 stream().map() 作用
  19. Linux环境下,文件的压缩/解压
  20. iOS 中集成百度echarts3.0

热门文章

  1. MP | 东农吴凤芝/南农韦中-根系分泌物介导的植物种间互作塑造了根际微生物组抑病力...
  2. Unity Ugui 详解 Content Size Fitter 和 Horizontal Layout Group 的使用
  3. Debian / Ubuntu下轻松切换GDM, LightDM , KDM
  4. 2018程序员拜年的奇思妙想,涨姿势了
  5. linux 性能分析工具perf
  6. SAP 银企直连 常用事务代码,表名,类名
  7. 《塞尔达传说:旷野之息》中设计元素的分析
  8. 重学Java设计模式-创建者模式-工厂方法模式
  9. Flutter如何实现下拉刷新和上拉加载更多
  10. eos 测试网搭建,单节点,并使用命令行完成系统合约部署、账户创建、资产转账