转自:https://www.cnblogs.com/junyiningyuan/p/5338378.html
关于除法
- 传统除法
对两个整数进行除的运算,同时结果会舍去小数部分,返回一个整数。但如果操作数之一是浮点型,则执行真正的除法。
- 真正的除法
返回真实的商,不管操作数的类似是整数还是浮点数
需要执行如下指令将传统除法转换为真正的除法
1
|
from
__future__
import
division
|
- 地板除
不管操作数为何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字,操作符“//”
举例:
1
2
3
4
5
6
7
|
>>>
print
"5/3传统除法:"
,
5
/
3
5
/
3
传统除法:
1
>>>
from
__future__
import
division
>>>
print
"5/3真正的除法:"
,
5
/
3
5
/
3
真正的除法:
1.66666666667
>>>
print
"5/3地板除:"
,
5.0
/
/
3
5
/
3
地板除:
1.0
|
关于取整
常用的直接就是int(),但会发现是直接把小数部分去掉了的整数,有的时候不是我们要的,学习了下int,floor,round的区别
扫描二维码关注公众号,回复:
5305861 查看本文章
- int() 直接截去小数部分(返回值为整型)
- floor()得到的是最接近原数但小于原数的整型(返回值为浮点型)
- round()得到最接近原数的整型(返回值为浮点型)
举例:
1
2
3
4
5
6
7
|
>>>
import
math
>>>
int
(
3.67
)
3
>>> math.floor(
3.67
)
3.0
>>>
round
(
3.67
)
4.0
|
如上只是针对python2.X版本的情况,python3.X版本已经有了变化。
如下为python3.3版本的对应变化
关于除法
- 传统除法
python3.3版本中的传统除法就是真正的除法,不管除数和被除数是否为整数,结果都是真实的商。
- 地板除
python3.3版本中保留了地板除。
举例:
1
2
3
4
|
>>>
print
(
"传统除法:"
,
1
/
2
)
传统除法:
0.5
>>>
print
(
"地板除:"
,
1
/
/
2
)
地板除:
0
|
关于取整
python3.3中的int()和floor()、round()的运算方式没变动,只是最终的返回结果都是整型
举例:
1
2
3
4
5
6
7
8
9
10
11
|
>>>
int
(
1.9
)
1
>>>
import
math
>>> math.floor(
1.2
)
1
>>>
type
(math.floor(
1.2
))
<
class
'int'
>
>>>
round
(
1.6
)
2
>>>
type
(
round
(
1.6
))
<
class
'int'
>
|