您的位置:首页 > 编程语言 > Python开发

Python中的除法

2016-05-09 14:34 190 查看
今天在做课后练习时,遇到了除法结果自动化整的情况,所以特别查了一下python的除法

转自csdn-sicofield

在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如 int a=15/10; a的结果为1。

同样的在Java中也是如此,所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换,例如 float a = (float)b/c ,其中b、c都是int型数据。

Python中分为3种除法:传统除法、精确除法、地板除。

传统除法

如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。

[python] view plain copy

>>>1/2

0

>>>1.0/2.0

0.5

精确除法

除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division 指令就可以做到这一点。

[python] view plain copy

>>>from __future__ import division

>>>1/2

0.5

>>>1.0/2.0

0.5

地板除

从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

[python] view plain copy

>>>1//2

0

>>>1.0//2

0

>>>-1//2.0

-1

内建函数divmod()
divmod (a,b),返回(a//b,a%b)

[python] view plain copy

>>>divmod(1,2)

(0,1)

>>>divmod(3.14159,1.5)

(2.0,0.4159000000000002)

>>>5+6j//3+2j

2+0j

>>>5+6j%3+2j

-1+2j

>>>divmod(5+6j,3+2j)

((2+0j),(-1+2j))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: