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实现DNS正向查询、反向查询的例子
Apr 25 Python
详细解析Python中的变量的数据类型
May 13 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
利用Python进行异常值分析实例代码
Dec 07 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
浅谈python写入大量文件的问题
Nov 09 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
Python实现word2Vec model过程解析
Dec 16 Python
python中常用的数据结构介绍
Jan 12 Python
Python中使用Opencv开发停车位计数器功能
Apr 04 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
Linux编译升级php的详细方法
2013/11/04 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
vue axios用法教程详解
2017/07/23 Javascript
React如何避免重渲染
2018/04/10 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
python爬取网易云音乐评论
2018/11/16 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
基于opencv实现简单画板功能
2020/08/02 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
Python gevent协程切换实现详解
2020/09/14 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
光声世纪笔试题目
2012/08/25 面试题
幽默自我介绍演讲稿
2014/08/21 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
php去除deprecated的实例方法
2021/11/17 PHP