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

这篇具有很好参考价值的文章主要介绍了一个简洁的背单词、背短语python程序——英文背记系统(自用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

实现功能

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


模拟练习模式:

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

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

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

  4. 关闭程序即可结束


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'

考试模式:

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

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

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

  4. 结束考试后,可以知道答题情况(正确率)以及错题回顾


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'   

查看词库模式:

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

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


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')

词库样例:

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

写在最后:

初学者的小作品而已,也没花太多时间,希望大家能多提一些建议,谢谢~文章来源地址https://www.toymoban.com/news/detail-485619.html

到了这里,关于一个简洁的背单词、背短语python程序——英文背记系统(自用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python输入一段英文,计算每个单词或数字出现的次数,并以字典方式输出。

    输入一段英文,计算每个单词或数字出现的次数。(这次有标点,但并没有加以区分,而是单独计数) 思路: 输入的字符串中会有多个重复的字符串,想要计数可以使用count函数。 这个题目更适合使用字典来解决,毕竟字典里的key不会重复,如果输入的内容重复了,就直接

    2023年04月16日
    浏览(29)
  • linux第一个小程序 --- 进度条【简洁】

    结果:先输入hello world然后休眠三秒后结束 当去掉’\\\'n“ 后,结果就变成了先休眠三秒,然后打印hello world后结束。 该现象就证明了缓冲区的存在。 当缓冲区中遇到’‘n’\\\'或者缓冲区被写满后才会被打印出来,在第二张图片里面,没有n,所以hello world先被写入缓存区,然后

    2024年01月20日
    浏览(30)
  • 一个单词C++程序

    这段程序定义了一个函数 printStack 和一个 main 函数。 main 函数中首先定义了一个 stackstring 类型的栈 MyStack 和一个字符串类型的变量 t 。然后通过 while 循环,不断地读入字符串,将其压入栈中,并输出提示语句。读入字符串的操作可以通过键盘输入或者重定向输入文件来完成

    2024年02月10日
    浏览(16)
  • 用Microsoft Access作为DBMS,建立数据库和数据表来实现对一个简易的英汉电子词典进行存储和管理,这个简易电子词典中的内容至少包括:英文单词名、词性、汉语释义

    已完善英语词典词典所有功能,酌情使用 酌情参考 本单元的作业,意在检测学生是否达到以下学习目标: (1)掌握JDBC数据库访问的基本步骤; (2)掌握利用JDBC建立数据库连接的方法; (3)掌握利用JDBC对数据库进行查询的方法; (4)掌握利用JDBC对数据库中的数据进行增、删、]改

    2024年02月04日
    浏览(47)
  • 后端开发专业英文单词收集

    government affairs 政务 customers Delivery 客户交付 high-concurrency 高并发 system architecture design and implementation 系统架构设计和开发 use guidance 用法指导 tencent cloud product 腾讯云产品 job qualification 工作要求 Bachelor Degree 学士学位 master degree 硕士学位 Backstage/back-end system development 后端系统开

    2024年02月04日
    浏览(29)
  • C //练习 6-3 编写一个交叉引用程序,打印文档中所有单词的列表,并且每个单词还有一个列表,记录出现过该单词的行号。对the、and等非实义单词不予考虑。

    练习 6-3 编写一个交叉引用程序,打印文档中所有单词的列表,并且每个单词还有一个列表,记录出现过该单词的行号。对the、and等非实义单词不予考虑。 注意:代码在win32控制台运行,在不同的IDE环境下,有部分可能需要变更。 IDE工具:Visual Studio 2010   代码块:

    2024年01月19日
    浏览(35)
  • 【英文干货】【Word_Search】找单词游戏(第1天)

    Awareness 意识 Breathing 呼吸 Calm 平静的 De-Stress 减压 Feelings 感受,情感 Inspection 调查 Meditation 冥想 Peace 和平 Quiet 安静的 Recollection 回忆 Relaxation 放松 Retention 保留 Serenity 祥和 Sitting 坐着 Time 时间 Zen 禅

    2024年01月22日
    浏览(26)
  • Paddle进阶实战系列(三):基于SVTR算法的手写英文单词识别

    👨‍💻 作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。 公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复“加群”或➡️ 链接 加群。 🎉 专栏推荐:

    2023年04月18日
    浏览(32)
  • Python背单词记单词小程序源代码,背单词记单词小游戏源代码

    背单词小游戏,要有多界面交互,界面整洁、美观,可调节游戏等级难度,可配置游戏信息。 有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录。 拼写成功的英文单词显示中文意思。支持长按回删键[backspace],快速删除单词字母。 多种游戏困难

    2024年02月15日
    浏览(41)
  • sensitive-word v0.13 特性版本发布 支持英文单词全词匹配

    sensitive-word-admin v1.3.0 发布 如何支持分布式部署? sensitive-word-admin 敏感词控台 v1.2.0 版本开源 sensitive-word 基于 DFA 算法实现的高性能敏感词工具介绍 更多技术交流 对于英文单词 Disburse 之类的,其中的 sb 字母会被替换,要怎么处理,能不能只有整个单词匹配的时候才替换。

    2024年02月20日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包