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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 Python
Python实现查找匹配项作处理后再替换回去的方法
Jun 10 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
python数字图像处理之高级滤波代码详解
Nov 23 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
Python调用.NET库的方法步骤
Dec 27 Python
Python图像读写方法对比
Nov 16 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 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
关于js与php互相传值的介绍
2013/06/25 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
大学生自荐书范文
2013/12/10 职场文书
学校十一活动方案
2014/02/01 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
通知的格式范文
2015/04/27 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
交通安全主题班会
2015/08/12 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
windows系统搭建WEB服务器详细教程
2022/08/05 Servers