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多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
浅析Python 中整型对象存储的位置
May 16 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 Python
python使用Geany编辑器配置方法
Feb 21 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
Django 5种类型Session使用方法解析
Apr 29 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
python实现简单贪吃蛇游戏
Sep 29 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php中http_build_query 的一个问题
2012/03/25 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
Ajax和Comet技术总结
2017/02/19 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python ddt实现数据驱动
2018/03/14 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
Python3多线程基础知识点
2019/02/19 Python
python__name__原理及用法详解
2019/11/02 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
python中pyplot基础图标函数整理
2020/11/10 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
2014年新教师工作总结
2014/11/08 职场文书
关于颐和园的导游词
2015/01/30 职场文书
销售开票员岗位职责
2015/04/15 职场文书
超市店长竞聘书
2015/09/15 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
4种方法python批量修改替换列表中元素
2022/04/07 Python
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python