Python外部for循环跳过其他所有元素

时间:2017-04-06 20:38:00

标签: python nested-loops

我试图写一个确定性的Miller-Rabin测试的基本实现,但我有限的Python背景正在阻碍。似乎在下面粘贴的程序部分中,外部for循环在内部while循环完成后跳过其他每个元素。关于为什么会出现这种情况的任何想法?

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

1 个答案:

答案 0 :(得分:-5)

i += 1放在ifelse语句

之外

所以

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