最初の繰り返しが最初の print ステートメントに行かないのはなぜですか。やっぱり、2%2==0 じゃないですか。
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'equals', x, '*', n//x)
... break
... else:
... # loop fell through without finding a factor
... print(n, 'is a prime number')
...
2 is a prime number
3 is a prime number