diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..cd3c8e50d4984362c0493f4379aef7491956e62c
--- /dev/null
+++ b/ejercicio2.ipynb
@@ -0,0 +1,198 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Nombre: Jennifer Ortega \n",
+    "### Ejercicio No. 2 - Triángulo de Pascal\n",
+    "\n",
+    "- Escriba una rutina en python que reciba como entrada un número entero, $n,$ e imprima los números en la $n$ -ésima fila del triángulo de Pascal. El programa debe verificar si el número $n$ es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario.\n",
+    "- Modifique la rutina anterior para que reciba un número variable de argumentos: $\\mathrm{n} 1, \\mathrm{n} 2, \\mathrm{n} 3, \\ldots$ y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila $\\mathrm{n} 1$ del triángulo de Pascal, el segundo elemento una lista con los números en la fila $\\mathrm{n} 2, \\mathrm{y}$ así sucesivamente."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Resolución (1)\n",
+    "Los valores para el triángulo de Pascal pueden ser encontrados mediante la siguiente fórmula:\n",
+    "$$\\left(\\begin{array}{l}\n",
+    "n \\\\\n",
+    "r\n",
+    "\\end{array}\\right)=\\frac{n !}{r !(n-r) !}\n",
+    "$$\n",
+    "Donde n representa el número de la fila, r el número de la columna.\n",
+    "- Validamos si el número ingresado es un entero, con un **if().**\n",
+    "- Utilizamos las fórmula para encontrar los valores para la fila n-esima y mediante el uso de un **for()**."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# triangulo de pascal\n",
+    "from math import factorial \n",
+    "\n",
+    "def triangulo_pascal(n):\n",
+    "    '''Devuelve los valores de la n-esima fila del triangulos de pascal, y ademas valida si el numero ingresado es entero'''\n",
+    "    if type(n) == int: # valida si el numero es entero\n",
+    "        print('Los valores del triangulo de pascal para la fila {} son:'.format(n))\n",
+    "        for j in range(n+1):\n",
+    "            print(factorial(n)//(factorial(j)*factorial(n-j)), end=\" \") # formula para valores del triangulo de pascal\n",
+    "        print()\n",
+    "    else:\n",
+    "        print('Error, el numero no es entero')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error, el numero no es entero\n"
+     ]
+    }
+   ],
+   "source": [
+    "n = 'hola'\n",
+    "triangulo_pascal(n)\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error, el numero no es entero\n"
+     ]
+    }
+   ],
+   "source": [
+    "n = 5.5\n",
+    "triangulo_pascal(n)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Los valores del triangulo de pascal para la fila 4 son:\n",
+      "1 4 6 4 1 \n"
+     ]
+    }
+   ],
+   "source": [
+    "n = 4\n",
+    "triangulo_pascal(n)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Resolución (2)\n",
+    "- Modificamos la función de tal forma que no imprima los valores si no que los almacene en una lista.\n",
+    "- Creamos una nueva rutina que por medio de un **for()** recorra todos los valores ingresados y retorne sus correspondiente valores en el triángulo de pascal y los guarde en una lista, por lo que el resultado será una lista de listas."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def triangulo_pascal_lista(n):\n",
+    "    '''Devuelve los valores de la n-esima fila del triangulos de pascal en una lista,\n",
+    "        ademas valida si el numero ingresado es entero'''\n",
+    "    lista = []\n",
+    "    if type(n) == int: # valida si el numero es entero\n",
+    "        for j in range(n+1):\n",
+    "            x = factorial(n)//(factorial(j)*factorial(n-j)) # formula para valores del triangulo de pascal\n",
+    "            lista.append(x)\n",
+    "        #print(lista)    \n",
+    "    else:\n",
+    "        print('Error, el numero no es entero')\n",
+    "    return lista    \n",
+    "\n",
+    "\n",
+    "def entrada(*numeros):\n",
+    "    '''Recibe numeros y retorna los valores del triangulo de pascal para las filas correspondientes\n",
+    "    a los valores ingresados '''\n",
+    "    lista_lista = []\n",
+    "    for numero in numeros:\n",
+    "        y = triangulo_pascal_lista(numero)\n",
+    "        lista_lista.append(y)\n",
+    "    print(lista_lista)   "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[[1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]]\n"
+     ]
+    }
+   ],
+   "source": [
+    "entrada(2,3,4,5,6,7,8,9)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}