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/