From b8ba9851c7c8c0440754e9a7e40aedaa7531fb77 Mon Sep 17 00:00:00 2001
From: Jesus David Bermudez Sanchez <jdbermudezs@unal.edu.co>
Date: Fri, 5 Feb 2021 17:00:49 -0500
Subject: [PATCH] estoy tratando de diferenciar si la entrada del ususario es
 entero, pero no funciona lo que he hecho hasta el momento

---
 ejercicio2.ipynb | 105 +++++++++++++++++++++++++++++++----------------
 1 file changed, 70 insertions(+), 35 deletions(-)

diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb
index b879272..74f539a 100644
--- a/ejercicio2.ipynb
+++ b/ejercicio2.ipynb
@@ -30,30 +30,16 @@
    "metadata": {},
    "source": [
     "La funcion ``corazon_pascal`` es una funcion que usa recursión para retornar la fila ``n`` del triangulo de Pascal.\n",
-    "\n"
+    "\n",
+    "El resultado fundamental\n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [],
    "source": [
-    "#def corazon_pascal(n):\n",
-    "#    \"\"\"\n",
-    "#    Esta función recibe un argumento de tipo entero\n",
-    "#    \n",
-    "#    Retorna una lista con los numeros de la fila n del triangulo de Pascal\n",
-    "#    \"\"\"\n",
-    "#    lista=[]\n",
-    "#    if n==1:\n",
-    "#        lista=lista+[1]\n",
-    "#    elif n==2:\n",
-    "#        lista=lista+[1,1]\n",
-    "#    else:\n",
-    "#        lista_antes=corazon_pascal(n-1)\n",
-    "#        lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]\n",
-    "#    return lista    \n",
     "def corazon_pascal(n):\n",
     "    \"\"\"\n",
     "    Esta función recibe un argumento de tipo entero\n",
@@ -73,30 +59,79 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def triangulo_pascal(n):\n",
+    "    \"\"\"\n",
+    "    Esta funcion recibe un string n\n",
+    "    \n",
+    "    En caso de que la variable n NO sea un numero entero\n",
+    "    imprime un mensaje en pantalla solicitando un entero\n",
+    "    \"\"\"\n",
+    "    \n",
+    "    for x in n:\n",
+    "        if x==\".\":\n",
+    "            print(\"El numero ingresado no es entero\")\n",
+    "            break\n",
+    "        elif x==\",\":\n",
+    "            print(\"El numero ingresado no es entero\")\n",
+    "            break\n",
+    "        elif x==\"j\":\n",
+    "            print(\"El numero ingresado no es entero\")\n",
+    "            break\n",
+    "        else:\n",
+    "            n=int(n)\n",
+    "            return corazon_pascal(n)\n",
+    "       \n",
+    "        "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "[1, 1]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdin",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Introduzca un numero entero mayor que cero,\n",
+      "se retornará la fila n del triangulo de Pascal\n",
+      "\n",
+      " 3.\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    },
+    {
+     "ename": "ValueError",
+     "evalue": "invalid literal for int() with base 10: '3.'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-28-e4e9f4a68874>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      5\u001b[0m \"\"\")\n\u001b[1;32m      6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtriangulo_pascal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumero_usuario\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[0;32m<ipython-input-27-24d483c36d8d>\u001b[0m in \u001b[0;36mtriangulo_pascal\u001b[0;34m(n)\u001b[0m\n\u001b[1;32m     18\u001b[0m             \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     19\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m             \u001b[0mn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     21\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mcorazon_pascal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: '3.'"
+     ]
     }
    ],
    "source": [
-    "def triangulo_pascal(n):\n",
-    "    if type(n)is not int:\n",
-    "        print(\"El numero ingresado no es un numero entero\")\n",
-    "    else:\n",
-    "        return corazon_pascal(n)\n",
-    "       \n",
-    "        \n",
-    "    \n",
-    "triangulo_pascal(2)"
+    "numero_usuario=input(\"\"\"\n",
+    "Introduzca un numero entero mayor que cero,\n",
+    "se retornará la fila n del triangulo de Pascal\n",
+    "\n",
+    "\"\"\")\n",
+    "print(\"\")\n",
+    "print(triangulo_pascal(numero_usuario))\n"
    ]
   },
   {
-- 
GitLab