利用Python代码做一个简单的单词提问本

我要写的这个代码的主要功能是利用你所提供的单词文本完成英译汉(或汉译英)的功能

import random

##  读取文本内容
outfile = open("英语单词.txt","r",encoding = "utf-8")
infile=outfile.readlines()
words=[]
for line in infile:
    if len(line.split())!=0:
      word=line.split()[0]
      meaning=line.split()[1]
      words.append((word,meaning))
outfile.close()


##  根据提示输入答案,输入end即可停止程序运行
nums=0
false_nums=0
while True:
    true_meanings=0
    re=random.choice(words)
    word=re[0]
    meaning=re[1]
    meanings=re[1].split(",")
    #print(meanings)
    ans=input("%s的中文释义为:"%word)
    if ans=='end':
        print("您的正确率为 %.2f%%"%((nums-false_nums)/nums*100))
        break
    nums+=1
    answers=ans.split(",")
    #print(answers)
    for answer in answers:
      if answer in meanings and answer !="":
        true_meanings+=1
      else:
        pass
    if true_meanings == len(answers):
      print("正确")
      print("%s的中文释义为 %s"%(word,meaning))
    else:
      print("错误,该单词的中文释义为:%s"%meaning)
      false_nums+=1
      
## 暂时用不到,先注释掉       
    """if false_nums>5:
        print("您掌握的还不够熟练哦,下次加油!")
        print("您的正确率为 %.2f%% "%((nums-false_nums)/nums*100))
        break"""


"""注:本代码只能识别文本中给出的单词释义,对于其他相似表达,如果
       没有通过她的关键字识别,就会报错,具有一定局限性,望见谅。
       另外,由于短语之间空格会影响程序正常运行,就用下划线代替空
       格了"""
      

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值