Python 2 和 Python 3 中的整数除法

新手上路,请多包涵

如何在 Python 2.7 中划分两个数字并得到带小数的结果?

我不明白为什么会有区别:

在 Python 3 中:

 >>> 20/15
1.3333333333333333

在 Python 2 中:

 >>> 20/15
1

这实际上不是模数吗?

原文由 Erzsebet 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 572
2 个回答

在 Python 2.7 中,如果输入是整数,则 / 运算符是整数除法。

如果你想要浮动除法(这是我一直喜欢的东西),只需使用这个特殊的导入:

 from __future__ import division

在这里查看:

 >>> 7 / 2
3
>>> from __future__ import division
>>> 7 / 2
3.5
>>>

通过使用 --- 实现整数除法,通过使用 // %

 >>> 7 % 2
1
>>> 7 // 2
3
>>>

正如 user2357112 评论的那样,必须在任何其他正常导入之前完成此导入。

原文由 bgusach 发布,翻译遵循 CC BY-SA 4.0 许可协议

在Python 3中, / 是浮点除法

在 Python 2 中, / 是整数除法(假设 int 输入)

在2 3中, // 是整数除法

(要在 Python 2 中进行浮点除法,需要其中一个操作数是浮点数,即 20.float(20)

原文由 mhlester 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题