我有一个脚本,我正试着在我的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完全不熟悉
您可以参考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
相关问题 更多 >
编程相关推荐