在32位raspberry pi上运行时,python在长整数上溢出错误

2024-09-28 23:30:52 发布

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

我有一个脚本,我正试着在我的RPi上工作。它在64位系统上可以正常工作,但在32位系统上却没有。我明白了

溢出错误:Python int太大,无法转换为C long

这是剧本

for number in xrange(int("0101010101"), int("9898989898")+1):
    number = `number`.zfill(10)
    prev = ''
    i = 0
    for c in `number`:
            if c in prev:
                    break
            else:
                    i += 1
                    prev = c
            if i>=len(`number`):
                    print number

我可以用perl很好地完成这项工作,但不知道如何用python完成

这是perl的等价物

^{pr2}$

我也试过用Python3写,但我对3完全不熟悉


Tags: in脚本numberforif系统错误rpi
1条回答
网友
1楼 · 发布于 2024-09-28 23:30:52

您可以参考Python文档。在

CPython实现细节:xrange()旨在简单而快速。实现可能会施加限制来实现这一点。Python的C实现将所有参数限制为本机C long(“短”Python整数),并且还要求元素的数量适合本机C long。如果需要更大的范围,可以使用itertools模块构建一个替代版本:islice(count(start,step),(stop start+step-1+2*(step<;0))//step。http://docs.python.org/2/library/functions.html#xrange

相关问题 更多 >