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的加密模块md5、sha、crypt使用实例
Sep 28 Python
Python检测生僻字的实现方法
Oct 23 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
Python实现滑雪小游戏
Sep 25 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
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python中的TCP socket写法示例
2018/05/11 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
python遍历小写英文字母的方法
2019/01/02 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
软件测试题目
2013/02/27 面试题
英语简历自我评价
2014/01/26 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
幼儿园老师寄语
2014/04/03 职场文书
个人专业技术总结
2015/03/05 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电