【发布时间】:2013-03-14 12:26:29
【问题描述】:
我有一个脚本,我正在尝试使用我的 RPi。它在 64 位系统上按预期工作,但在 32 位系统上无法正常工作。我明白了
OverflowError: 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 的等价物
my $num = "";
for $num ("0101010101" .. "0101989898"){
if ($num =~ /00|11|22|33|44|55|66|77|88|99/o) {
++$num;}
else {
print "$num\n";}}
也试过用python3写,但我对3完全不熟悉
【问题讨论】:
-
代码甚至无法正常运行。你确定要
"number".zfill(10)"吗? (填充字符串number)? -
是的,没有它 0101010101 打印为 101010101。希望保持 10 位数。我刚刚复制/粘贴了我在 python 解释器中发布的代码,以确保我没有打错字并且它运行良好,所以不确定为什么它不会为你运行。
-
我不确定这是否是语义错误
标签: python python-2.7 python-3.x raspberry-pi