python英语单词测试小程序代码实例


Posted in Python onSeptember 09, 2019

这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧~

import requests

#扇贝网爬虫,获取英语单词
category_res=requests.get('https://www.shanbay.com/api/v1/vocabtest/category/?_=1566889802182')
category_json=category_res.json()
category_data=category_json['data']

#选择出题范围
for i in range(10):
  print(str(i+1)+'.'+category_data[i][1])
number=int(input('请选择出题范围:'))

url='https://www.shanbay.com/api/v1/vocabtest/vocabularies/'
headers={
  'Referer': 'https://www.shanbay.com/vocabtest/',
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Safari/605.1.15'
  }
params={
  'category':category_data[number-1][0],
  '_': '1566889452889'
  }

res=requests.get(url,headers=headers,params=params)
jsonres=res.json()

vacabularies=jsonres['data']
knows=[]
unknows=[]
print()
print('以下单词你是否认识?')
n=0
z=0

b=open('错词本.txt','a+')
b.write('你不认识的单词有:\n')

#测试开始,挑选认识的单词
for vacabulary in vacabularies:
  n=n+1
  vacabu=vacabulary['content']
  print('第'+str(n)+'个:'+vacabu)
  index=vacabularies.index(vacabulary)

  while True:
    judge=input('认识选Y,不认识选N:')
    if judge=='Y':
      knows.append(index)
      break
    elif judge=='N':
      unknows.append(index)
      z=z+1
      b.write(str(z)+'.'+vacabu+'\n')
      break
    else:
      print('请输入Y或者N')
print()      
print('测试结束,以下是测试结果:')
print('认识'+str(len(knows))+'个单词,不认识'+str(len(unknows))+'个单词。')
print('你可真棒!')
print()

right=[]
wrong=[]

#选择正确的词义
b.write('你记错的单词有:\n')
m=0
for know in knows:
  vacabulary_know=vacabularies[know]
  word=vacabulary_know['content']
  print()
  print(word)

  definitions=vacabulary_know['definition_choices']

  for i in range(4):
    print(str(i+1)+'.'+definitions[i]['definition'])
  choice=int(input('单词测试,请选择正确的词义:'))
  rank=definitions[choice-1]['rank']
  if rank==vacabulary_know['rank']:
    right.append(word)
  else:
    wrong.append(word)
    m=m+1
    b.write(str(m)+'.'+word+'\n')
print()
print('测试结果出来啦!')
print('认识的单词里掌握了这几个:')
print(right)
print()
print('没掌握的是这几个:')
print(wrong)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发送邮件功能实现代码
Jul 15 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
Python pymongo模块用法示例
Mar 31 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
Python中拆分字符串的操作方法
Jul 23 Python
python装饰器使用实例详解
Dec 14 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
Python爬虫代理池搭建的方法步骤
Sep 28 Python
Django haystack实现全文搜索代码示例
Nov 28 Python
python之json文件转xml文件案例讲解
Aug 07 Python
Python实现TCP通信的示例代码
Sep 09 #Python
Python3使用PySynth制作音乐的方法
Sep 09 #Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 #Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 #Python
pymysql模块的使用(增删改查)详解
Sep 09 #Python
Django之模板层的实现代码
Sep 09 #Python
Django模板语言 Tags使用详解
Sep 09 #Python
You might like
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP CURL使用详解
2019/03/21 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
Python实现的桶排序算法示例
2017/11/29 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
Europcar比利时:租车
2019/08/26 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
交警个人先进事迹材料
2014/05/11 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
清洁员岗位职责
2015/02/15 职场文书
校友会致辞
2015/07/30 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python