Numeros primos Python

La sentencia break, como en C, salta del bucle for o while en curso a uno más interno hacia arriba.
La sentencia continue, también como en C, hace que siga la siguiente iteración del bucle.

Las construcciones de bucle pueden tener una cláusula else. Ésta se ejecuta, si existe, cuando se termina el bucle por agotamiento de la lista (con for) o cuando la condición se hace falsa (con while), pero no cuando se termina el bucle con break. 

Para aclarar esto último, valga un ejemplo, que busca números primos:

>>>for n in range(2, 10):
...    for x in range(2, n):
...        if n % x == 0:
...            print n, 'es igual a', x, '*', n/x
...            break
...    else:
...        # lo atrapó el loop sin encontrar factor
...        print n, 'es numero primo'

2 es numero primo
3 es numero primo
4 es igual a 2 * 2
5 es numero primo
6 es igual a 2 * 3
7 es numero primo
8 es igual a 2 * 4
9 es igual a 3 * 3

Sí, es correcto. Fijate bien: El "else" pertenece al bucle "for", no a la sentencia "if". 

Cuando realizamos la operación 7%3 sabemos que el 3 cabe dos veces en el 7 y sobra 1
Cuando realizamos la operación 8%3 sabemos que el 3 cabe dos veces en el 8 y sobra 2
Cuando realizamos la operación 9%3 sabemos que el 3 cabe tres veces en el 9 y sobra 0
Cuando realizamos la operación 10%3 sabemos que el 3 cabe tres veces en el 10 y sobra 1