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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
9种python web 程序的部署方式小结
Jun 30 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
Sep 20 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
Tensorflow 多线程设置方式
Feb 06 Python
python中upper是做什么用的
Jul 20 Python
深入理解python协程
Jun 15 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
JavaScript小技巧 2.5 则
2010/09/12 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
Vue filter介绍及其使用详解
2017/10/21 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
windows支持哪个版本的python
2020/07/03 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
软件测试企业面试试卷
2016/07/13 面试题
小学门卫岗位职责
2013/12/17 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
采购意向书范本
2014/03/31 职场文书
2014年党委工作总结
2014/11/22 职场文书
小学生优秀评语
2014/12/29 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
入伍通知书
2015/04/23 职场文书
小爸爸观后感
2015/06/15 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers