Python基础入门-实现计算器多种姿势
在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基础入门-实现计算器多种姿势的更多相关文章
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- Python基础入门总结
Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...
- [新手必备]Python 基础入门必学知识点笔记
Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...
- Python基础入门教程,Python学习路线图
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...
- Python怎么样入门?Python基础入门教程
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...
- PJzhang:python基础入门的7个疗程-one
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...
- Python基础入门一文通 | Python2 与Python3及VSCode下载和安装、PyCharm激活与安装、Python在线IDE、Python视频教程
目录 1. 关键词 2. 推荐阅读 2.1. 视频教程 3. 本文按 4. 安装 4.1. 视频教程 4.2. 资源下载 4.3. 安装教程 1. 关键词 Python2 与Python3及VSCod ...
- python 列表推导式 - python基础入门(16)
截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...
- Python基础入门:注释、变量、运算符与数据类型
一.为什么要学习python? python的特点 python作为一门脚本语言,在越来越多的行业和领域发挥着重大作用,比如机器学习.网站开发.数据分析.爬虫.自动化测试. 同时,python具备以下 ...
随机推荐
- 小程序App方法
App() 注册一个小程序 小程序的入口方法 //app.js App({ onLaunch: function(options) { console.log("onLaunch" ...
- VC散列表
vc下有2个版本的散列表类,hash_map和unordered_map,hash_map位于stdext命名空间,unordered_map在std命名空间(vs2008及其之后的版本可用),官方推 ...
- MAC 10.6 64wei
苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍.下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac ...
- js操作serviceWorker缓存静态文件
js操作serviceWorker缓存静态文件 serviceWorker的作用就是用来做离线应用的,在手机端程序中用的较多 先看下效果 index.html <!DOCTYPE html> ...
- Python遍历列表删除多个列表元素
在遍历list的时候,删除符合条件的数据,结果不符合预期 num_list = [1, 2, 2, 2, 3] print(num_list) for item in num_list: if ite ...
- day-7心得
面向对象高级语法部分 经典类vs新式类 把下面代码用python2 和python3都执行一下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...
- WARNING: cell0 mapping not found - not syncing cell0
WARNING: cell0 mapping not found - not syncing cell0
- 四道腾讯的javascript面试题
今天整理自己的文件夹时,发现了曾经面试腾讯实习生时的被问挂了的面试题,我将它们整理好了供大家借鉴.当时要求的是手写代码.汗啊,我那时弱爆了! 1,将给定数组转换为一个随机数组 Array.protot ...
- 02-20 winform 上传图片并读取图片
建立一个windows窗体应用程序,在form1界面中拖入两个按钮和一个pictureBox,通过输入输出流来上传图片和显示图片.需要添加一下openFileDialog1. 界面如下: 在cs中写上 ...
- Redis搭建(一):单实例
环境:CentOS6.4 + redis3.2.4 一.安装 cd /opt tar -zxf redis-3.2.4.tar.gz make make install PREFIX=/usr/loc ...