python 计算器语音播报模拟

Posted A running snail,little step ev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 计算器语音播报模拟相关的知识,希望对你有一定的参考价值。

计算器语音播报模拟

python 要点

1.闭包

2.链式计算

3.语音播报

4.类与实例

import pyttsx3

class Caculator:

    def __say(self,word):
        speaker = pyttsx3.init()
        speaker.say(word)
        speaker.runAndWait()

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

    def __check_number(func):
        def inneer(self,n):
            if not isinstance(n, int):
                raise TypeError("数据类型应为整形数据")
            return func(self,n)
        return inneer

    @__check_number
    @__create_say("")
    def __init__(self,num):
       self.__result=num

    @__check_number
    @__create_say("add")
    def add(self,n):
        self.__result+=n
        return self

    @__check_number
    @__create_say("minus")
    def mins(self,n):
        self.__result-=n
        return self

    @__check_number
    @__create_say("multiply")
    def multiply(self,n):
        self.__result*=n
        return self

    def show(self):
        self.__say("final result is :%d" %self.__result)
        print("final result is:%d" %self.__result)
        return self

    def clear(self):
        self.__say("clean up to Zero")
        self.__result=0
        print("clean up result to %d" % self.__result)
        return self

    @property
    def result(self):
        return self.__result

c1 = Caculator(10)
c1.add(6).mins(2).multiply(2).show().clear().add(500).mins(200).multiply(20).show()

显示结果

final result is:28
clean up result to 0
final result is:6000

以上是关于python 计算器语音播报模拟的主要内容,如果未能解决你的问题,请参考以下文章

Jetson Nano python中文语音播报数字距离 基于pyttsx3

python腾讯语音合成

Android语音播报后台播报语音识别

使用Python做一个语音播报温湿度系统,元气满满的一天从听到他开始

使用Python做一个语音播报温湿度系统,元气满满的一天从听到他开始

使用Python做一个语音播报温湿度系统,元气满满的一天从听到他开始