Python3除法之真除法、截断除法和下取整对比

栏目: Python · 发布时间: 5年前

内容简介:在Python3中,数学运算中的除法被分为两种,分别是“真除法”,即无论任何类型相除的结果都会保留小数点,和我们实际的数学运算结果一致,而“截断除法”,则是无论任何类型相除的结果都会省略结果的小数部分,剩下最小的能整除的整数部分。 以下是两种除法的基本形式:示例结果:真除法的结果表明不论操作数的类型其相除结果都返回一个浮点结果。

Python 3中,数学运算中的除法被分为两种,分别是“真除法”,即无论任何类型相除的结果都会保留小数点,和我们实际的数学运算结果一致,而“截断除法”,则是无论任何类型相除的结果都会省略结果的小数部分,剩下最小的能整除的整数部分。 以下是两种除法的基本形式:

# 真除法
X / Y
# 截断除法
X // Y
复制代码

真除法

X = 8
Y = 2
Z = 3

print(X / Y)
print(X / Z)
复制代码

示例结果:

4.0
2.6666666666666665
复制代码

真除法的结果表明不论操作数的类型其相除结果都返回一个浮点结果。

截断除法

X = 8
Y = 2
Z = 3
S = -8

print(X // Y)
print(X // Z)
print(S // Y)
print(S // Z)
复制代码

示例结果:

4
2
-4
-3
复制代码

从示例中我们可以看到,截断除法并不是真的直接去掉小数点后面的数字,而是类似模块 math 中的 floor 方法,即向下取整,且负值的取整方式也是这样的。

import math

math.floor(2.0)
math.floor(2.6666666666666665)
math.floor(-2.0)
math.floor(-2.6666666666666665)
复制代码

示例结果:

2
2
-2
-3
复制代码

同样的模块 math 中的 ceil 方法可以实现浮点数的上取整。

import math

print(math.ceil(2.0))
print(math.ceil(2.6666666666666665))
print(math.ceil(-2.0))
print(math.ceil(-2.6666666666666665))
复制代码
2
3
-2
-2
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

韦斯 (Mark Allen Weiss) / 陈越 / 机械工业出版社 / 2016-3-1 / 69.00元

本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。一起来看看 《数据结构与算法分析》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具