如何在Python中处理大数字?

2024-04-19 09:15:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在解决projecteuler的问题,当我想迭代非常大的数字,超过10个数字时,CodeSkulptor,我使用的IDE,就会卡住。我怎么能用Python处理大的数字呢?也许是另一个IDE?你知道吗


Tags: 数字ideprojecteulercodeskulptor
2条回答

我对Coursera上的Rice University Python课程中的CodeSkulptor有着美好的回忆,但是对于那些课程之外的Python的一般使用,我推荐一个功能齐全的IDE,比如JetBrains的免费社区版PyCharm:https://www.jetbrains.com/pycharm/

如果你看一下CodeSkulptor文档http://www.codeskulptor.org/docs.html#tabs-Python,它说它只实现了“python2的一个子集”,所以是的,对于projecteuler和其他非Rice/Coursera项目,使用PyCharm或其他全功能IDE。你知道吗

Python可以处理内存允许的任意大的数字。当Python到达sys.maxint时,它将自动将int转换为long

In [28]: print type(sys.maxint+0)
<type 'int'>

In [29]: print type(sys.maxint+1)
<type 'long'>

In [30]: print 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + 2;
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113

所以这很可能是IDE的问题。尝试在iPython中运行代码,或者使用标准文本编辑器和python二进制文件,并确保其正常工作。如果是这样的话,那么你的IDE可能是罪魁祸首!你知道吗

我在PyCharm上通常都很幸运(有一个免费的版本),但我经常只使用Sublime Text(它更像是一个“智能编辑器”,而不是IDE,但是可以完成任务)。你知道吗

相关问题 更多 >