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网络编程学习笔记(五):socket的一些补充
Jun 09 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
python保存字符串到文件的方法
Jul 01 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
简单介绍python封装的基本知识
Aug 10 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
Python统计分析模块statistics用法示例
Sep 06 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
Python卷积神经网络图片分类框架详解分析
Nov 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出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
PHP7 新增常量
2021/03/09 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
python开发之函数定义实例分析
2015/11/12 Python
Python注释详解
2016/06/01 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
推广活动策划方案
2014/08/23 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
老人节主持词
2015/07/04 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
深入理解 Golang 的字符串
2022/05/04 Golang