#面向对象计算器,实现一些基本的操作,加减乘除,以及打印结果
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)

面向对象编程小项目,语音播报计算器相关推荐

  1. QT练手小项目-——天气播报小狗(ui展示分析,构造实现,json格式数据分析,界面交互,天气图标处理,小狗语音)

    前言 经过之前一段时间的QT学习,做出一个小软件来总结自己掌握关于qt的知识点.网络上有许多免费的天气接口(api),有xml格式的,也有json格式的.具体xml和json有什么区别,这里我就不去深 ...

  2. linux系统编程 小项目,linux系统编程小项目.doc

    linux系统编程小项目.doc 一.项目概述简单智能远程监控功能服务器端1.服务器端利用随机数模拟向串口读取传感数据,需要模拟的传感数据要求有温度.湿度.光照.室内噪音度等等.2.服务器要求在数据保 ...

  3. 面向对象编程java小游戏_JavaScript面向对象编程小游戏---贪吃蛇代码实例

    1 面向对象编程思想在程序项目中有着非常明显的优势: 1- 1 代码可读性高.由于继承的存在,即使改变需求,那么维护也只是在局部模块 1-2 维护非常方便并且成本较低. ​2 这个demo是采用了面向 ...

  4. JAVA小功能语音播报功能

    JAVA小功能实现----语音播报功能 来点关注吧 1.先创建一个staticTools类添加如下代码 2.导入jacob.jar包 然后进行window配置 3.复制如下代码到staticTools ...

  5. python语音播报库-基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...

  6. python读音播报-基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...

  7. python 语音播报库_基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 #优化版本1 # -*- coding:utf8 -*- # # ------------------------------------------------- ...

  8. java面向对象的小项目_java第二季面向对象结课小项目之答答租车系统

    这个小项目是学完java面相对象的练习小项目,还有很多知识点没有用上,是因为并没有完全吸收所学的知识.粗略的完成了这个小项目希望大家指点! 创建Car父类 package com.car; publi ...

  9. 结对编程小项目实现 Python+PyQt5+OOP

    最开始我们两个人分别写个人项目时,分别用的是Java和C++,但是在做这个带UI的升级版后,我坚定地摈弃了之前两个人所写的代码,选择用Python完全重写,原因有以下几点: 1. 之前两个人写的都不够 ...

最新文章

  1. 7Papers|斯坦福学者造出机器鸽;港科大等提出学生情绪分析新系统
  2. bioskey的用法
  3. 20.三层技术之OSPF区域划分与路由重分发(2)
  4. 【2012百度之星/资格赛】J:百度的新大厦
  5. jquery-文档处理
  6. Particle Filter Tutorial 粒子滤波:从推导到应用(四)
  7. 唏嘘!暴风影音官网、APP挂掉,办公地人去楼空,官方心酸回应...
  8. C# 添加PDF注释(5种类型)
  9. hdu P3374 String Problem
  10. UBUNTU配置samba
  11. java pkcs8_java – 如何在python中创建PKCS8 RSA签名
  12. LCS算法 文本对比的实现
  13. oracle定时器,调用存储过程,定时从n张表中取值新增到本地一张表中
  14. 负数除以整数的余数怎么算?
  15. 【图像分割】基于模糊核聚类算法KFCM实现医学图像分割matlab代码
  16. 2020.08.10多态
  17. java大作业用jsp数据库java_JSP数据库大作业 - 不是太阳也要发光的个人页面 - OSCHINA - 中文开源技术交流社区...
  18. SpringBoot升级2.4.0所出现的问题:When allowCredentials is true, allowedOrigins cannot contain the specia
  19. WebCam snap应用实例
  20. U盘格式为RAW格式,空间为0字节的解决办法

热门文章

  1. 2021chrome浏览器视频加速(网盘)
  2. 知识图谱入门学习笔记(一)-概念
  3. 企业微信社群该如何引流
  4. CSS篇之5. 样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验
  5. 论文阅读:GeoTransformer
  6. 计算机数制转换操作方法,计算机基础 数制及其相互转换
  7. 51nod1635 第K个幸运排列
  8. 2023需要重点关注的四大AI方向
  9. AEJoy ——表达式之彩色文字尾随特效【JS】
  10. AI编译器XLA调研