面向对象编程小项目,语音播报计算器
#面向对象计算器,实现一些基本的操作,加减乘除,以及打印结果
import win32com.client
#1创建语音播放器class Calculaor:def __check_num_zsq(func):def inner(self,n):if not isinstance(n,int):raise TypeError("当前这个数据的类型有问题,应该是一个整型数据")return func(self,n)return innerdef __say(self,word):speaker = win32com.client.Dispatch("SAPI.SpVoice")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 innerreturn __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 += nreturn self@__check_num_zsq@__create_say_zsq("减去")def jian(self,n):self.__result -= nreturn self@__check_num_zsq@__create_say_zsq("乘以")def cheng(self,n):self.__result *= nreturn self@__check_num_zsq@__create_say_zsq("除以")def chu(self, n):self.__result /= nreturn selfdef clear(self):self.__result = 0return selfdef show(self):self.__say(f"计算的结果是{self.__result}")print(f"计算的结果是{self.__result}")return self@property #描述器 把方法当作属性def result(self):return self.__result
c1 = Calculaor(2)
c1.jia(6).jian(4).cheng(5).show().chu(2).show().clear().jia(36).show() #链式编程,实例内部返回实例本身
print(c1.result)
面向对象编程小项目,语音播报计算器相关推荐
- QT练手小项目-——天气播报小狗(ui展示分析,构造实现,json格式数据分析,界面交互,天气图标处理,小狗语音)
前言 经过之前一段时间的QT学习,做出一个小软件来总结自己掌握关于qt的知识点.网络上有许多免费的天气接口(api),有xml格式的,也有json格式的.具体xml和json有什么区别,这里我就不去深 ...
- linux系统编程 小项目,linux系统编程小项目.doc
linux系统编程小项目.doc 一.项目概述简单智能远程监控功能服务器端1.服务器端利用随机数模拟向串口读取传感数据,需要模拟的传感数据要求有温度.湿度.光照.室内噪音度等等.2.服务器要求在数据保 ...
- 面向对象编程java小游戏_JavaScript面向对象编程小游戏---贪吃蛇代码实例
1 面向对象编程思想在程序项目中有着非常明显的优势: 1- 1 代码可读性高.由于继承的存在,即使改变需求,那么维护也只是在局部模块 1-2 维护非常方便并且成本较低. 2 这个demo是采用了面向 ...
- JAVA小功能语音播报功能
JAVA小功能实现----语音播报功能 来点关注吧 1.先创建一个staticTools类添加如下代码 2.导入jacob.jar包 然后进行window配置 3.复制如下代码到staticTools ...
- python语音播报库-基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...
- python读音播报-基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...
- python 语音播报库_基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 #优化版本1 # -*- coding:utf8 -*- # # ------------------------------------------------- ...
- java面向对象的小项目_java第二季面向对象结课小项目之答答租车系统
这个小项目是学完java面相对象的练习小项目,还有很多知识点没有用上,是因为并没有完全吸收所学的知识.粗略的完成了这个小项目希望大家指点! 创建Car父类 package com.car; publi ...
- 结对编程小项目实现 Python+PyQt5+OOP
最开始我们两个人分别写个人项目时,分别用的是Java和C++,但是在做这个带UI的升级版后,我坚定地摈弃了之前两个人所写的代码,选择用Python完全重写,原因有以下几点: 1. 之前两个人写的都不够 ...
最新文章
- 7Papers|斯坦福学者造出机器鸽;港科大等提出学生情绪分析新系统
- bioskey的用法
- 20.三层技术之OSPF区域划分与路由重分发(2)
- 【2012百度之星/资格赛】J:百度的新大厦
- jquery-文档处理
- Particle Filter Tutorial 粒子滤波:从推导到应用(四)
- 唏嘘!暴风影音官网、APP挂掉,办公地人去楼空,官方心酸回应...
- C# 添加PDF注释(5种类型)
- hdu P3374 String Problem
- UBUNTU配置samba
- java pkcs8_java – 如何在python中创建PKCS8 RSA签名
- LCS算法 文本对比的实现
- oracle定时器,调用存储过程,定时从n张表中取值新增到本地一张表中
- 负数除以整数的余数怎么算?
- 【图像分割】基于模糊核聚类算法KFCM实现医学图像分割matlab代码
- 2020.08.10多态
- java大作业用jsp数据库java_JSP数据库大作业 - 不是太阳也要发光的个人页面 - OSCHINA - 中文开源技术交流社区...
- SpringBoot升级2.4.0所出现的问题:When allowCredentials is true, allowedOrigins cannot contain the specia
- WebCam snap应用实例
- U盘格式为RAW格式,空间为0字节的解决办法