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
  • 相关阅读:
    阅读计划
    个人介绍
    构建之法阅读笔记04
    结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)
    结对开发——返回一个整数数组中最大子数组的和
    学习进度条(三)
    构建之法阅读笔记03
    结对开发——四则运算(三)
    四则运算——单元测试(测试方法:Right-BICEP )
    学习进度条(二)
  • 原文地址:https://www.cnblogs.com/yunlongaimeng/p/8836433.html
Copyright © 2011-2022 走看看