gpt4 book ai didi

python - 进行大整数计算时python3出现奇怪错误

转载 作者:太空狗 更新时间:2023-10-30 01:00:01 24 4
gpt4 key购买 nike

我试图在 Python 3.5.2 中这样做:

int(204221389795918291262976/10000)

却得到了意想不到的结果:20422138979591827456

它在 Python 2.7.12 中运行良好,结果是:20422138979591829126L

知道为什么 Python 3 给我错误的结果吗?

最佳答案

在 python 3 中,你必须显式地使用整数除法 // 否则即使在 2 个整数之间也将应用浮点除法。

这是 python 2 和 python 3 之间的主要变化之一

在您的示例中:(将在 python 2 和 python 3 中工作,因此它向后兼容!)

204221389795918291262976//10000
20422138979591829126

(你甚至不需要在这里转换为 int,结果是 int 因为两个术语都是 int)

顺便说一句,如果你想让这个错误与 python 2 一起工作,那也是可能的:)

from __future__ import division

关于python - 进行大整数计算时python3出现奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39308302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com