Skip to content
Snippets Groups Projects
Commit b8ba9851 authored by Jesus David Bermudez Sanchez's avatar Jesus David Bermudez Sanchez
Browse files

estoy tratando de diferenciar si la entrada del ususario es entero, pero no...

estoy tratando de diferenciar si la entrada del ususario es entero, pero no funciona lo que he hecho hasta el momento
parent f6a82ad2
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# *Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá* # *Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá*
--- ---
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## El problema a resolver se puede dividir en dos partes. ## El problema a resolver se puede dividir en dos partes.
## La primera parte la podemos llamar: Triángulo de Pascal ## La primera parte la podemos llamar: Triángulo de Pascal
Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los números en la n-ésima fila 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. 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.
--- ---
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
La funcion ``corazon_pascal`` es una funcion que usa recursión para retornar la fila ``n`` del triangulo de Pascal. La funcion ``corazon_pascal`` es una funcion que usa recursión para retornar la fila ``n`` del triangulo de Pascal.
El resultado fundamental
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
#def corazon_pascal(n):
# """
# Esta función recibe un argumento de tipo entero
#
# Retorna una lista con los numeros de la fila n del triangulo de Pascal
# """
# lista=[]
# if n==1:
# lista=lista+[1]
# elif n==2:
# lista=lista+[1,1]
# else:
# lista_antes=corazon_pascal(n-1)
# lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]
# return lista
def corazon_pascal(n): def corazon_pascal(n):
""" """
Esta función recibe un argumento de tipo entero Esta función recibe un argumento de tipo entero
Retorna una lista con los numeros de la fila n del triangulo de Pascal Retorna una lista con los numeros de la fila n del triangulo de Pascal
""" """
lista=[] lista=[]
if n==1: if n==1:
lista=lista+[1] lista=lista+[1]
#elif n==2: #elif n==2:
#lista=lista+[1,1] #lista=lista+[1,1]
else: else:
lista_antes=corazon_pascal(n-1) lista_antes=corazon_pascal(n-1)
lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1] lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]
return lista return lista
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
def triangulo_pascal(n): def triangulo_pascal(n):
if type(n)is not int: """
print("El numero ingresado no es un numero entero") Esta funcion recibe un string n
else:
return corazon_pascal(n)
En caso de que la variable n NO sea un numero entero
imprime un mensaje en pantalla solicitando un entero
"""
for x in n:
if x==".":
print("El numero ingresado no es entero")
break
elif x==",":
print("El numero ingresado no es entero")
break
elif x=="j":
print("El numero ingresado no es entero")
break
else:
n=int(n)
return corazon_pascal(n)
triangulo_pascal(2)
```
%% Cell type:code id: tags:
``` python
numero_usuario=input("""
Introduzca un numero entero mayor que cero,
se retornará la fila n del triangulo de Pascal
""")
print("")
print(triangulo_pascal(numero_usuario))
``` ```
%% Output %% Output
[1, 1]
Introduzca un numero entero mayor que cero,
se retornará la fila n del triangulo de Pascal
3.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-28-e4e9f4a68874> in <module>
5 """)
6 print("")
----> 7 print(triangulo_pascal(numero_usuario))
<ipython-input-27-24d483c36d8d> in triangulo_pascal(n)
18 break
19 else:
---> 20 n=int(n)
21 return corazon_pascal(n)
22
ValueError: invalid literal for int() with base 10: '3.'
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Triangulo de Pascal modificado ## Triangulo de Pascal modificado
Modifique la rutina anterior para que reciba un número variable de argumentos: n1, n2, n3,... y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila n1 del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y así sucesivamente. Modifique la rutina anterior para que reciba un número variable de argumentos: n1, n2, n3,... y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila n1 del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y así sucesivamente.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment