猫史档案馆


【教程】python制作的听写工具

用户:碳烤小火龙碳烤小火龙查看:8 回复:12 评论:8 创建时间:2019-01-05T18:55:23


咳咳,为了让这个帖子符合分类化,所以之前的教程贴都删掉了,现在是全部发送到python 乐园里。

废话不多说了,让我们来看看这个不过30 行就可以简易用python制作的听写工具吧!

这次的软件程序的开发采用的工具是 python 3。  

这此次的开发还需要另外导入两个个工具 : pyttsx 3库,其作用为把文本转成语音。

现在在命令行(cmd)里输入指令:pip install pyttsx3

 

在安装完pyttsx3后也要安装对应版本的pywin32,如果已经安装过了,则无需再次安装。

pywin32 安装方法:在命令行里输入:python -m pip install pypiwin32

即可。

还有一个工具是 easygui 这个的作用相对前者重要性不是这么大,它的作用是创立GUI 也就是对话框,简单说就是美化,但还是推荐大家使用。

下载:http://easygui.sourceforge.net/

下载完毕后吧里面一个叫easygui.py,或者整个(反正我是只把它放了进去)放入一个叫python3.6文件里(就是你python的原地址)一个叫Lib的文件就可以了

接下来,点击python的一个编译器(Python有自带的编译器,用它或者编程猫的就可以了)

提示:如果你是用编程猫的编辑器来编写的话可能无法在上面运行,必须要保存之后再本地里运行(因为编程猫上没有上面的两个库)

先来看下最后软件运行后的结果。

这是运行后的结果,软件界面展示的结果一目了然。首先是系统提示输入要听写的单词数量,接着是输入要听写的单词的具体内容。随后系统就会根据这些内容进行报音,用户输入对应单词后,就会得到一个判定结果。从而完成整个听写的过程。接下来让我们一起看下代

接下来我将对这些代码进行详细的解释:

首先是导入两个库,分别是pyttsx3和 easygui

文本转语言大致可以理解为把你输入要进行听写的单词朗读出来,用于进行听写的发音。

然后另一个库easygui则是一个GUI。GUI的意思是图形化界面,不然的话你的最终效果会在文本上运行,没办法创立出界面。

第三行代码是使用这个库的发音,把它变成一个变量,这样更方便使用。

再来看接下来的这些代码:

              good = 0

              No = 0

              K = -1

     这段是初始化变量。

变量是一个可以存储值的字母或名称。当你编程时,可使用变量来存储数字,例如建筑物的高度,或者存储单词,例如人的名字。简单地说,可使用变量表示程序所需的任何信息。你可能会问:“既然我可以使用信息,为什么要用变量?”因为变量可以随着程序的运行而改变其表示的值。例如,你可以写个程序来跟踪罐子里糖豆的数目。因为糖是要被吃掉的,所以罐里糖豆的数目可能会随着时间的推移而改变。你可以使用一个变量来表示不同时间的糖豆数目,而无需在每次糖豆数目变化时重新修改程序。

让我们继续往下看:

n = easygui.,integerbox(“请输入听写单词的数量”)

通过这一句代码,建立出了如图一所示的界面。

  c = []

这一句代码是为了初始化链表。你可以将链表看成是一个抽屉,我们可以先将之后要用到的东西先放进去,在需要的时候才从抽屉里面拿出来。

看向下一段代码:

For x in range (n):

     b = easygui.enterbox(“输入要听写的内容”)

     c = append(b)

首先定义了一个循环,循环的次数是n 次。还记得吗?n就是你所输入的要听写的单词的数量。由此来决定了发出询问“请输入要听写的单词”的次数。接着就用到了我们前面定义好的链表c,用来存放用户输入的要听写的内容。

下一段代码:

For x in range (n):

                k = k+1

                World = c[k]

                Spaker.say (world)

                Spaker.runAndwaie()

        Answer = easygui.enterbox (“请输入刚刚听写的单词”)

         if answer == c[k]:

         Easygui.msgbox(“正确”)

         good=good +1

Else:

      Easygui.msgbox(“错误”)

      no =no +1

这段代码的作用是开始听写,系统进行逐个单词的报音。

K = k+1,这一句的作用是每进行一次单词报音后,都让k的数值+1。

Word = c[k],接着把下一个要听写的单词从c链表里提出来,赋值给变量Word。

举例来说,假如c链表里储存的单词依次为one,two,three,four...

K此时的值为0,World = c [0],就是提出链表c的第一项;Spaker.say (word),Spaker.runAndwaie()报出c链表里的第一个单词one;然后用户根据界面提示“请输入刚刚听写的单词”进行输入,接着来到if语句,if answer == c[k],Easygui.msgbox(“正确”),如果你输入的答案与c[0],也就是与one相等,就会在界面上显示正确,同时good=good +1,对你听写正确的单词数进行加一计数。Else:Easygui.msgbox(“错误”),no =no +1。反之则显示错误,同时对你听写错误的单词数进行加一计数。

此时还没有完成n次循环,所以在下一轮中,k的数值+1,k=1,word =c [1]。进行下一个单词two的听写,以此类推,n次循环后,最终完成所有单词的听写 。                     

本次教程到此结束,谢谢观赏。


回复

上一页1 页 / 共 1下一页
碳烤小火龙碳烤小火龙

这个是我在2017年的时候做出来的东西,之前也有发过教程贴,现在为了把教程接对分类,所以重新发了一遍。但是近日我会再发布一个升级版本的听写工具教程。emotion_编程猫_加油

点赞0


评论


海龟本尊2海龟本尊2

我....我只有一个问题!!!

那就是!!!

 

你为何这么优秀??????

点赞0


评论


碳烤小火龙碳烤小火龙

center_image

点赞2


评论


CupColeteCupColete

233

点赞0


评论


我们一起喵喵喵我们一起喵喵喵

emotion_编程猫_点赞

点赞0


评论


我们一起喵喵喵我们一起喵喵喵

emotion_编程猫_点赞

点赞0


评论


碳烤小火龙碳烤小火龙

咳咳,关于听写工具的升级版本近日已经把它做了出来,但是碰到了一些比较难搞的bug,作者正在努力攻破bug,预计在过年前放出升级版的整体代码

 

 

点赞0


评论


碳烤小火龙碳烤小火龙

'听写工具’功能性升级完毕!所有BUG 已被攻克!预计在明天教程贴可以正式登陆python乐园!

 

点赞1


评论


去做小叮当去做小叮当

yeah

点赞0


评论


碳烤小火龙碳烤小火龙

新教程出炉~! 听写工具2.0 以后听写作业再也不用麻烦父母(可以偷偷作弊)啦~!

点赞0


评论


幻_想幻_想

零号?

点赞1


评论


几何空间几何空间

.........

点赞0


评论