zoukankan      html  css  js  c++  java
  • Python语音识别(计算器)

    第一步关于导入模块的事,我试了好几个方法才发现在好像win7系统没有语音识别功能,我用了win10的又需要重新下载一个包

    这样子,win32com.client模块就可以使用了


    import win32com.client

    # # 1.创建一个播报器对象
    # speaker = win32com.client.Dispatch("SAPI.SpVoice")
    # # 2.通过这个播报器对象,直接,播放相对应的语音字符串就可以
    # speaker.Speak("我的名字是:王云龙")
    class Caculator:

    def __check_num_zsq(func):

    def inner(self, n):
    if not isinstance(n,int):
    raise TypeError("当前这个数据的类型有问题,应该是一个整形数据")
    return func(self, n)
    return inner
    def __say(self,word):
    # 1.创建一个播报器对象
    speaker = win32com.client.Dispatch("SAPI.SpVoice")
    # 2.通过这个播报器对象,直接,播放相对应的语音字符串就可以
    speaker.Speak(word)

    def __create_say_zsq(word = ""):
    def __say_zsq(func):
    def inner(self, n):
    self.__say(word + str(n))
    return func(self, n)

    return inner
    return __say_zsq

    @__check_num_zsq
    @__create_say_zsq()
    def __init__(self,num):
    self.__result = num

    @__check_num_zsq
    @__create_say_zsq("加")
    def jia(self,n):
    self.__result += n
    return self

    @__check_num_zsq
    @__create_say_zsq("减去")
    def jian(self,n):
    self.__result -= n
    return self

    @__check_num_zsq
    @__create_say_zsq("乘以")
    def chen(self,n):
    self.__result *= n
    return self

    def show(self):
    self.__say("计算的结果是:%d"%self.__result)
    print("计算的结果是:%d"%self.__result)
    return self

    def clear(self):
    self.__result = 0
    return self

    @property
    def result(self):
    return self.__result
    c1 = Caculator(10)
    # 链式编程的思路用return self本身就可以做到
    c1.jia(6).jian(4).chen(5).show().clear().jia(555).jian(500).show()
    c1.result
  • 相关阅读:
    MVC中使用AuthorizeAttribute做身份验证操作
    Entity Framework 5.0 Code First全面学习
    AngularJs学习教程
    安装完Oracle数据库,给scott账户解锁方法
    Signalr学习教程
    javascript学习教程【Qi Fei】
    并行开发
    MongoDB教程【一】
    统计学习概念
    自学Python的点滴
  • 原文地址:https://www.cnblogs.com/yunlongaimeng/p/8836433.html
Copyright © 2011-2022 走看看