El problema de tu programa está claro. Es la línea 6. Cuando haces esto:
Más concretamente, cuando haces:
No estás haciendo 2 listas distintas sino que lo que haces es que tanto vertical como horizontal apunten a la misma lista; por eso cuando cambias una cambias la otra (porque son la misma) y te salen los valores iguales. La solución es fácil: crear dos listas diferentes:
Código python:
Ver originalhorizontal=range(n)
vertical=range(n)