Está en la página 1de 1

# Practica 3, ejercicio 2g

n = int(input("Tamaño de la matriz? "))


# Generar matriz
mat = [ ]
for f in range(n):
mat.append([0]*n)
# Relleno en espiral
contador = 1
for cuadro in range(n//2+1):
# Fila superior del recuadro
for c in range(cuadro,n-cuadro):
mat[cuadro][c] = contador
contador = contador + 1
# Columna derecha del recuadro
for f in range(cuadro+1,n-cuadro):
mat[f][n-1-cuadro] = contador
contador = contador + 1
# Fila inferior del recuadro
for c in range(n-2-cuadro,cuadro-1,-1):
mat[n-1-cuadro][c] = contador
contador = contador + 1
# Columna izquierda del recuadro
for f in range(n-2-cuadro,cuadro,-1):
mat[f][cuadro] = contador
contador = contador + 1
# Imprimir matriz
for f in range(n):
for c in range(n):
print("%3d" %mat[f][c], end="")
print()

También podría gustarte