@Peter @Steven @Don @Danny thank you *so much" for explaining the concept of a nested for loop! Your simplified example Steven made it very clear to me:
for x in range(2, 7): print("outer loop, x =", x) for y in range(2, x): print("inner loop, x =", x, "y =", y) I have only one question left. Here's my original program again: for x in range(2, 10): for y in range(2, x): if x % y == 0: print(x, "equals", y, "*", x//y) break else: print(x, "is a prime number") So the first output of the outer loop is: 2. It's then passed to the inner loop: for y in range(2,x): if x % y == 0: ... And I was wondering what is happening inside that loop. The output of for y in range (2,2): should be ... none - correct? What exactly happens on the next line of code? if x % y == 0 To me it looks like if 2 % "no value" == 0 is executed here which I assume causes the loop to break - correct? Just want to understand how Python deals with "no values" within a program. Thanks in advance! All the best, Raf _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor