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版
Dec 07 Python
python解析模块(ConfigParser)使用方法
Dec 10 Python
Python实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
Python进程间通信用法实例
Jun 04 Python
浅谈Python中的闭包
Jul 08 Python
解决Python出现_warn_unsafe_extraction问题的方法
Mar 24 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
python 内置函数汇总详解
Sep 16 Python
余弦相似性计算及python代码实现过程解析
Sep 18 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
Python实现PS滤镜中的USM锐化效果
Dec 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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2020/01/22 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
vue中使用input[type="file"]实现文件上传功能
2018/09/10 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
Python selenium如何设置等待时间
2016/09/15 Python
python实现发送邮件功能
2017/07/22 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
Ref与out有什么不同
2012/11/24 面试题
中学生获奖感言
2014/02/04 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
求职自我推荐信
2014/06/25 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
用电申请报告范文
2015/05/18 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript