首页 / 知识
Python的英语搭配助手应用开发研究
2023-11-12 13:37:00
基于Python自带的GUI工具包Tkinter来实现窗口视窗设计。选用Python语言的理由在于其语法简单,跨平台、内嵌大量模块,支持众多第三方包,大大降低了编程的难度,同时Python语言最为接近人类语言,近年来受到越来越多的人员,尤其是非计算机专业但有编程需求的人士,特别是文科研究者的青睐。
该应用的目的是让学习者在一个应用(不需要频繁切换应用程序)里完成一键查询单词搭配,进而建立不打扰学习者写作的环境,因此该应用包括两个区域:文字编辑区和搭配查询结果显示区,如图1所示。
具体用户操作路径为用户在文字编辑区输入写作内容,当需要查找某单词的搭配时,用户只需在输入完该单词后,按下触发键(本应用定义为shift键),该应用就会去在线词汇搭配网站,获取该单词的相关HTML信息,然后通过正则表达式截取只与搭配相关的信息,并进行页面呈现调整,最后在该应用的查询结果显示区呈现。例如,在图1中,用户在文本区进行写作练习,想要知道comment的搭配,只需在输入comment之后,按下键盘shift键,之后右侧的查询结果框就会显示来自在线搭配网站上关于comment各种搭配信息。
代码实现路径:
1)获取网页信息
使用Python内置库Urllib相关模块,从目标网站(https://www.freecollocation.com)获取检索词的网页。如果没有找到检索词的搭配,网页显示“Cannotfind检索词inthecollocationdictionary”,则返回1,再做后续处理。如果找到检索词,则保存该网页信息。
2)选取相关信息
通过分析网页特征,可以看出和搭配相关的信息,都储存在多个
标签里面。搭配词的词性放在标签里,搭配词放在标签里,例句放在标签里。先用BeautifulSoup对该网页进行整理,然后使用标签提取相关内容,并且存到字符串中,以便下一步呈现。
3)Tkinter窗口试图设计
为了方便用户写作和查看搭配词互不干扰或在写作时不用切换屏幕查看搭配词,窗口设计为两个滚动文本框(ScrolledText),左侧的为编辑区(EditPad),右侧为搭配结果显示区(Collocates)。考虑到用户看到两个文本框,不知在哪个框里输入,除了给出2个标签提示不同的区域外,还需把搭配结果显示区属性设置为不可编辑,避免用户误操作。下方设计保存(Save)和退出(Quit)两个按钮,功能分别为保存用户输入的数据和退出该应用。
4)一键绑定
以往文字编辑应用中,如果想要查找某个单词的相关信息,需要选中该单词,然后单击右键,选择相关的选项,过程较为烦琐。一键绑定是该应用的创新之处,是指当用户在编辑区输入文本的时候,如果想检索某单词的同义词时,只需要在输入该单词之后,再按下shift键,即可执行相关检索功能。这样一来,省去了大量的操作时间,让用户可以更快速地获得检索结果,获得更为及时的搭配词反馈。
实现的基本原理是把用户所有的输入信息存储为一个字符串,然后再将该字符串切分为若干个单词,再取最后一个单词,作为检索词,去在线词汇搭配网站获取该单词的网页相关信息,然后经过一系列的网页处理,最后在该应用的检索结果显示区呈现。重点是通过ScrolledText的bind方法,将shift键和上面陈述的实现基本原理进行绑定,这样才可以实现用户只需按下shift键,该应用自动执行上述相关代码。
以上内容为大家介绍了Python的英语搭配助手应用开发研究,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规Python元类之通过元类实现数据库OR
Python元类之通过元类实现数据库ORM框架,数据,名称,信息,代码,主体,当中,字段,分析,一致,投入,ORM框架是什么如果是没有做过后端的小伙伴上来python使用matplotlib绘图怎么在线
python使用matplotlib绘图怎么在线上标注?,地方,培训,坐标轴,图像,范围,画图,示例,注释,文字描述,以上,python画图常用标注包含,坐标轴的值和python如何导入txt数据库?
python如何导入txt数据库?,数据,时间,代码,培训,数据库,函数,读数,数据表,以上,方法,python将TXT数据导入数据库的方法代码如下:#!/usr/bin/pypython获取当前时间日期有哪些方法
python获取当前时间日期有哪些方法?,时间,标准,星期六,培训,日期,微秒,结果,模块,星期,格式,获取到时间也是我们在学习python遇到的常见问题,python怎样获取json数据类型?
python怎样获取json数据类型?,培训,数据类型,类型,正则,火狐,以上,方法,更多,内容,列表,python中获取json不同数据类型的方法:1、获取"key":vpython数据怎么添加列?
python数据怎么添加列?,数据,位置,培训,方法,属性,结果,示例,函数,前面,以上,python在DataFrame数据中添加列的方法:1、使用concat方法在数据python如何获取列表里的数据类型?
python如何获取列表里的数据类型?,代码,信息,培训,类型,数据类型,表里,元素,语句,函数,对象,1、Python可以通过tpye()方法来判断list里的元知python怎么读sql数据?
python怎么读sql数据?,数据,培训,游标,格式,字典,方式,语句,参数,结构,对象,python中读取SQL数据的方法:python中可以使用游标cursor来读取SQL如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保实数是不是python的数据类型?
实数是不是python的数据类型?,数字,标准,培训,实数,数据类型,数轴,复数,有限小数,无理数,虚数,实数是python的数据类型。实数,是有理数和无理python如何获取程序执行时间?
python如何获取程序执行时间?,代码,培训,标准,程序,方法,中间,使用方法,以上,手册,更多,python获取程序执行时间的方法:1、使用time.clock()方