python - 划分后应用floor division和int()有什么区别吗?

标签 python python-3.x

似乎有些情况下应用 floor 除法和除法后的 int() 之间的输出不同。 能否解释一下原因或具体案例?

问题: int(a//b) 不等于 int(a/b)

情况: a 和 b 是整数且 0 < a,b <= 1e18

设置: Python 3.4.3

注意: 具体的案例我就不一一列举了,因为都是在线评委测试的,测试用例是不公开的。

希望得到您的帮助。 谢谢。

最佳答案

具体示例(在 Python 3.4.4 shell 中):

>>> int(99999999999999999/100000000000000000)
1
>>> 99999999999999999//100000000000000000
0

当(数学) float 除法的结果非常接近整数时会发生这种情况,因此数值 float 除法结果会四舍五入到该整数。

关于python - 划分后应用floor division和int()有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47724740/

相关文章:

python - 使用外部文件定义字典键的值列表

python - 不和谐.py : How do I get the name of the user who triggers on_member_update?

python - 如何在Python中从纬度和经度获取带有关联邮政编码的数据框?

Python 在迭代过程中就地修改字典条目

Python:具有多个变量的颜色输出

python集合列表在所有元素中找到对称差异

python - 无法覆盖 django 中 NumberInput 字段的步骤属性

python - 以每列仅包含 Pandas 中的相同值的方式对列进行排序

python - PyCharm 报告未使用的局部变量,但此变量已在局部命名空间中使用

python - 从字符串列表中选择合适的选项