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
  • 相关阅读:
    window XP下 php5.5+mysql+apache2+phpmyadmin安装
    poj2478Farey Sequence
    poj2723Get Luffy Out
    niop2015day2
    P2473 [SCOI2008]奖励关
    P4284 [SHOI2014]概率充电器
    P2486 [SDOI2011]染色
    noip2015day1
    hdu 2795 Billboard
    exgcd
  • 原文地址:https://www.cnblogs.com/yunlongaimeng/p/8836433.html
Copyright © 2011-2022 走看看