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具备以下 ...
随机推荐
- openfaas 简单试用
1. 安装 faas-cli 参考以前文章,或者使用官方的shell脚本 2. 简单例子 mkdir rong cd rong faas-cli new rong --lang python / ...
- rtrim,dirname,魔术常量用法
$str = "Hello World!!!"; echo $str . "<br>"; echo rtrim($str,"!d" ...
- Python学习之变量的作用域
学习地址:http://www.jianshu.com/p/17a9d8584530 1.变量作用域LEGB 1.1变量的作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空 ...
- 【openCV学习笔记】【3】高斯模糊一张图片(_cvSmooth相关编译错误)
代码如下: #include <iostream> #include <opencv/highgui.h> #include <opencv/cv.h> void ...
- Data_Structure-绪论作业
一.作业题目 仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数基本运算: 构造有理数T,元素e1,e2分别被赋以分子.分母值 销 ...
- videojs集成--播放rtmp流
之前说到已经把流推送过来了,这时候就可以使用videojs来进行显示播放. 首先要先有一个文件,那就是video-js.swf 因为,这种播放方式html已经不能很好的进行播放了,需要用到flash来 ...
- 1032 Sharing
题意:寻找两个链表的首个公共结点,输出其地址. 思路: 方法1. 如果LinkList1比LinkList2长,则让LinkList1先偏移(len1-len2)个结点,然后,让两个链表的的工作指针 ...
- PL/SQL 训练09--面向对象
---对象基本声明.实现.使用--对象类型,类似与JAVA中的类,通俗的讲,就是捆绑了相关函数和过程的记录类型. ---对象声明 --create type 创建一个对象类型的规范部分 create ...
- phpStudy启动失败时的解决方法 提示缺vc9运行库
问题描述: 问题产生原因分析: php5.3.5.4和apache都是用vc9编译,电脑必须安装vc9运行库才能运行. php5.5.5.6是vc11编译,如用php5.5.5.6必须安装vc11运行 ...
- DFS leetcode
把字符串转换成整数 class Solution { public: int StrToInt(string str) { int n = str.size(), s = 1; long long r ...