This code runs pretty well and generates the wanted list of prime numbers. But the else
block that prints our prime numbers is out of block, but it works anyway, can someone explain it to me?
for num in range(0, 100 + 1):
# prime numbers are greater than 1
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
print(num)
Reference: programiz.com
Python has a neat for-else
construct:
For loops also have an else clause which most of us are unfamiliar with. The else clause executes when the loop completes normally. This means that the loop did not encounter any break.