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 相关文章推荐
phpsir 开发 一个检测百度关键字网站排名的python 程序
Sep 17 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
python实现中文输出的两种方法
May 09 Python
Django查找网站项目根目录和对正则表达式的支持
Jul 15 Python
python自带的http模块详解
Nov 06 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
PyQt5实现简易电子词典
Jun 25 Python
PyTorch预训练的实现
Sep 18 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
如何用Python绘制3D柱形图
Sep 16 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
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP4在Windows2000下的安装
2006/10/09 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
php递归函数怎么用才有效
2018/02/24 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python实现人工蜂群算法
2020/09/18 Python
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
软件测试工程师面试问题精选
2016/10/28 面试题
开水果连锁店创业计划书
2013/12/29 职场文书
员工薪酬福利制度
2014/01/17 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
安全生产汇报材料
2014/02/17 职场文书
《我不是最弱小的》教学反思
2014/02/23 职场文书
党支部特色活动方案
2014/08/20 职场文书
庆祝教师节标语
2014/10/09 职场文书
科级干部培训心得体会
2016/01/06 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
基于Golang 高并发问题的解决方案
2021/05/08 Golang
python实现手机推送 代码也就10行左右
2022/04/12 Python