I was trying to write a basic implementation of a deterministic Miller-Rabin test but my limited Python background is getting in the way. It seems that, in the section of the program pasted below, the outer for loop is skipping over every other element after the inner while loop completes. Any ideas as to why this is the case?
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