700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python英语词汇量测试_python英语单词测试小程序

python英语词汇量测试_python英语单词测试小程序

时间:2021-03-10 07:49:10

相关推荐

python英语词汇量测试_python英语单词测试小程序

博主爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧~

import requests

#扇贝网爬虫,获取英语单词

category_res=requests.get('/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='/api/v1/vocabtest/vocabularies/'

headers={

'Referer': '/vocabtest/',

}

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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。