Python外循环跳过其他每个元素
问题描述:
我正在尝试编写确定性Miller-Rabin测试的基本实现,但我的有限Python背景正在逐渐成型。看起来,在下面粘贴的程序部分中,outer for循环在内部while循环完成之后跳过所有其他元素。有关为什么会出现这种情况的任何想法?Python外循环跳过其他每个元素
for integer in integers:
print("The current integer is " + str(integer))
i = 0
while i < len(powers):
print(str(integer) + "^" + str(powers[i]) + " + 1 mod N =")
print((pow(integer,powers[i],N) + 1)%N)
if (pow(integer,powers[i],N) + 1)%N == 0:
integers.remove(integer)
i += 1
break
else:
i += 1
答
把if
和else
声明
外i += 1
所以
for integer in integers:
print("The current integer is " + str(integer))
i = 0
while i < len(powers):
print(str(integer) + "^" + str(powers[i]) + " + 1 mod N =")
print((pow(integer,powers[i],N) + 1)%N)
if (pow(integer,powers[i],N) + 1)%N == 0:
integers.remove(integer)
break
i += 1
+2
这在句法上与OP的代码相同。 – Aaron
你忘了后添加一个缩进循环,或当你在这里贴上它没有它得到了删除吗? –
@AquaticallyChallengedFish:对不起,粘贴后失去了缩进。固定。 –
您的代码片段不完整。 “整数”,“权力”等的价值是什么?请参见[如何创建最小,完整和可验证示例](http://*.com/help/mcve)。 –