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