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编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python中用于计算对数的log()方法
May 15 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
使用Python进行目录的对比方法
Nov 01 Python
启动Atom并运行python文件的步骤
Nov 09 Python
pytorch 求网络模型参数实例
Dec 30 Python
Python&&GDAL实现NDVI的计算方式
Jan 09 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
Python使用pdb调试代码的技巧
May 03 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 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 fckeditor 调用的函数
2009/06/21 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
webpack4 处理CSS的方法示例
2018/09/03 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
django中的图片验证码功能
2019/09/18 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
医学专业五年以上个人求职信
2013/12/03 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
《老王》教学反思
2014/02/23 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
大学军训的体会
2014/11/08 职场文书
离婚协议书怎么写
2015/01/26 职场文书
决心书格式范文
2015/09/23 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python
springcloud整合seata
2022/05/20 Java/Android