在Python中,虽然定义一个函数只需要def关键字,但是他能实现多种功能和用途,比如今天我们讲解的这几种方式。如何使用函数实现一个计算器的功能呢?当然,实现计算器的方式有很多种,我们举几个比较典型的例子,借助函数来实现就比较容易。我们使用三种方式实现加法计算器的应用:

1.IF嵌套语句  2.def函数实现  3.面向对象的实现方式

先来看第一种:(通过if嵌套语句实现一个计算器功能,我一直觉得这种写法写起来是比较简洁,规范,明朗的)首先,先使用函数定义加、减、乘、除这四种计算方法。

def add(a,b):
return a+b
def sub(c,d):
return c-d
def multi(e,f):
return e-f
def divide(g,h):
return g / h
第二步:选择一下我们想要计算的方法:是加法还是减法还是乘法还是除法?
print "请选择你要进行的运算: +  -  *  /"
print "A.加法"
print "B.减法"
print "C.乘法"
print "D.除法"
第三步:输入数字作为函数的入参,为后面IF语句实现加减乘除运算。
choice  = input("请输入A/B/C/D:")
letter1 = int(input("请输入第一个数字:"))
letter2 = int(input("请输入第二个数字:"))
第四步:使用IF语句实现函数的调用以及入参,实现计算器功能。
if  choice == "A":
print letter1,'+',letter2,'=',add(letter1,letter2)
elif choice == "B":
print letter1,'-',letter2,'=',sub(letter1,letter2)
elif choice == "C":
print letter1,'*',letter2,'=',multi(letter1,letter2)
elif choice == "D":
print letter1,"/",letter2,'=',divide(letter1,letter2)
else:
print '没有此选项'
完整代码如下:
def add(a,b):
return a+b
def sub(c,d):
return c-d
def multi(e,f):
return e-f
def divide(g,h):
return g / h print "请选择你要进行的运算: + - * /"
print "A.加法"
print "B.减法"
print "C.乘法"
print "D.除法" choice = input("请输入A/B/C/D:")
letter1 = int(input("请输入第一个数字:"))
letter2 = int(input("请输入第二个数字:")) if choice == "A":
print letter1,'+',letter2,'=',add(letter1,letter2)
elif choice == "B":
print letter1,'-',letter2,'=',sub(letter1,letter2)
elif choice == "C":
print letter1,'*',letter2,'=',multi(letter1,letter2)
elif choice == "D":
print letter1,"/",letter2,'=',divide(letter1,letter2)
else:
print '没有此选项'
第二种实现方式,使用函数实现,我们在看下面的实现方式:
1先定义加减乘除四个方法
def add(a,b):
return a+b
def sub(c,d):
return c-d
def multi(e,f):
return e-f
def divide(g,h):
return g / h
2.函数一步实现计算器功能
def cacultor():
option = input("请选择:1+,2-,3*,4/")
num1 = input('请输入第一个数字:')
num2 = input('请输入第二个数字:')
if option == 1:
print add(num1,num2)
elif option == 2:
print sub(num1,num2)
elif option == 3:
print multi(num1,num2)
elif option == 4:
print divide(num1,num2)
else:
print '没有此选项' cacultor()
这种方式是直接把定义好的参数定义到了函数内部。对比第一种代码量上简洁了不少。
完整代码如下
1.定义加减乘除
2.选择加减乘除
3.函数实现功能
def add(a,b):
return a+b
def sub(c,d):
return c-d
def multi(e,f):
return e-f
def divide(g,h):
return g / h
def cacultor():
option = input("请选择:1+,2-,3*,4/")
num1 = input('请输入第一个数字:')
num2 = input('请输入第二个数字:')
if option == 1:
print add(num1,num2)
elif option == 2:
print sub(num1,num2)
elif option == 3:
print multi(num1,num2)
elif option == 4:
print divide(num1,num2)
else:
print '没有此选项' cacultor() #调用整个函数运行
第三种的实现方式:使用面向对象的过程实现计算器功能。
class Jisuan(object):
def __init__(self,a,b): #初始a,b两个参数
self.a = int(a)
self.b = int(b) def add(self):
if type(self.a) != int or type(self.b) != int:
raise Exception('a,b必须为整型') #如果输入的不是整型 就抛出错误
return self.a + self.b
def sub(self):
if type(self.a) != int or type(self.b) != int:
raise Exception('a,b必须为整型')
return self.a - self.b
def mutil(self):
if type(self.a) != int or type(self.b) != int:
raise Exception('a,b必须为整型')
return self.a * self.b
def divide(self):
if type(self.a) != int or type(self.b) != int:
raise Exception('a,b必须为整型')
if self.b == 0: #对除数进行判断 除数不能为0
raise Exception('除数不能为0',self.b)
return self.a / self.b if __name__ == "__main__":
test = Jisuan(55,20) #实例化对象 test
print test.add() #引用自身加法
print test.sub() #引用自身减法
print test.mutil() #引用自身乘法
print test.divide() #引用自身除法

以上就是实现计算器的几种方式。

Python基础入门-实现计算器多种姿势的更多相关文章

  1. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  2. Python基础入门总结

    Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...

  3. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  4. Python基础入门教程,Python学习路线图

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  5. Python怎么样入门?Python基础入门教程

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  6. PJzhang:python基础入门的7个疗程-one

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...

  7. Python基础入门一文通 | Python2 与Python3及VSCode下载和安装、PyCharm激活与安装、Python在线IDE、Python视频教程

    目录 1. 关键词 2. 推荐阅读 2.1. 视频教程 3. 本文按 4. 安装 4.1. 视频教程 4.2. 资源下载 4.3. 安装教程 1. 关键词 Python2 与Python3及VSCod ...

  8. python 列表推导式 - python基础入门(16)

    截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...

  9. Python基础入门:注释、变量、运算符与数据类型

    一.为什么要学习python? python的特点 python作为一门脚本语言,在越来越多的行业和领域发挥着重大作用,比如机器学习.网站开发.数据分析.爬虫.自动化测试. 同时,python具备以下 ...

随机推荐

  1. fn project hot functions 说明

    1. 简单介绍 所谓 hot  functions 实际上就是长时间运行的functions ,简单理解类似后台任务 2. fnproject  处理的方式 fnproject 使用 类似 http的 ...

  2. 【Swift】- UITextField完成输入后关闭软键盘的几种方法

    总结了以下几种方式,欢迎补充  1,为空白区域绑定Touch Up Inside事件  2,重写touchesEnded方法  3,为TextField绑定Did End On Exit事件 1,点击 ...

  3. Ambari的API调用

    GET api/v1/clusters/HDP/configurations可以获得所有的配置信息(例如,http://hdp0:8080/api/v1/clusters/HDP/configurat ...

  4. Eclipse中调试Jar包的源码(调试Struts2源码)

    首先在Eclipse中创建一个新的项目,加入运行Struts2所需要的JAR文件,并将它们加到项目的CLASSPATH中(在Lisbs中右击 build path 如下图: ),成功后的界面如图 1- ...

  5. zabbix 3.0.2自定义脚本

    http://blog.51cto.com/xiao987334176/1769766 有一个通知队列,如果超过了一定的值,就需要报警一下 查询接口可以返回队列的数量,格式是json,data后面的数 ...

  6. Maven项目中突然找不到Build Path或maven dependencies library

    这两天发现有个maven项目抽风了,一个是右击项目找不到Build Path了,一个是依赖的lib库没了,maven引入的依赖包导不了.后来发现是eclipse搞的鬼,出问题的是项目下的.classp ...

  7. 用xshell-ssh连接服务器被经常意外中断

    xshell突然中断报错 Socket error Event: 32 Error: 10053.Connection closing...Socket close. Connection close ...

  8. file does not exist 阿里云OSS图片上传遇到的问题

    ./uploads\20171209/0497b8dd16e72c6fcf5bfd552f535a81.png file does not exist 原代码 function aliyun($sav ...

  9. python学习(十三) 数据库支持

    13.1 Python数据库编程接口(API) 13.1.1 全局变量 13.1.2 异常 13.1.3 连接和游标 13.1.4 类型 13.2 SQLite和PySQlite 13.2.1 入门 ...

  10. 记录一下学习Android的小知识

    目前要设计即时通讯的整体架构,包括服务端.Android.IOS.PC.平板等等系统,所以需要研究一下手机的实现方式,开始从Android入手,偶尔在这记录下小知识. ADT: 1.页面功能请求结构, ...