The else
statement in your code:
...
else:
print(num,"is a prime number")
...
is only executed because there was no break
in your for loop
, because your for loop
only breaks out if the if
statement is True
:
...
if (num % i) == 0:
print(num,"is not a prime number")
print(i,"times",num//i,"is",num)
break
...
This would mean that writing your code like this:
for i in range(2,num):
if (num % i) == 0:
print(num,"is not a prime number")
print(i,"times",num//i,"is",num)
break
else:
print(num,"is a prime number")
would give you the same output, if you wrote your code like this, with the else
statement only executing if the if
statement was proven False
:
for i in range(2,num):
if (num % i) == 0:
print(num,"is not a prime number")
print(i,"times",num//i,"is",num)
break
else:
print(num,"is a prime number")
To read more about else statements at the end of for loops, visit:
https://www.geeksforgeeks.org/using-else-conditional-statement-with-for-loop-in-python/