"*Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá*\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# El problema a resolver es el siguiente\n",
"\n",
"## Lista de palabras\n",
"\n",
"Escriba un programa en python que acepte una lista de palabras separadas por guiones, e imprima de vuelta las\n",
"mismas palabras, sin repetición y nuevamente separadas por guiones, después de ordenarlas alfabéticamente.\n",
"\n",
"Ejemplo de entrada: naranja-avión-melodía-tupla-avión\n",
"\n",
"Salida esperada: avión-melodía-naranja-tupla\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Iniciamos pidiendo al usuario una lista de palabras conectadas con guiones. (Esperamos que el usuario **NO** introduzca espacios en blanco). \n",
"\n",
"Para ello usamos el comando `input()`, el cual permite pedir al usuario información a traves de la pantalla; esta informacion se guarda en una variable de tipo \"string\".\n",
"\n",
"En nuestro caso llamamos a esta variable `palabras`. A esta variable le agregamos un guion en el extremo derecho. El porque de esta accion se expondra mas adelante."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdin",
"output_type": "stream",
"text": [
"Ingrese una lista de palabras separadas por guiones sin dejar epacios; se retornaran las palabras ordenadas alfabeticamente y sin repeticiones hola-como-estas\n"
]
}
],
"source": [
"palabras=input(\n",
" \"Ingrese una lista de palabras separadas por guiones sin dejar epacios; \\\n",
" se retornaran las palabras ordenadas alfabeticamente y sin repeticiones\")\n",
"\n",
"# Le agrego un guion al final del string original(para que funcione el \n",
"# proceso que me invente)\n",
"palabras=palabras+\"-\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Creo la lista vacia que va a contener las palabras individuales\n",
"lista_de_palabras=[]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Separacion de las palabras\n",
"\n",
"En la celda siguiente se ejecuta el proceso que permite extraer cada una de las palabras que el usuario ingresó, las cuales estan guardadas como en **UN** solo string, que llamamos `palabras`"
*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:
# El problema a resolver es el siguiente
## Lista de palabras
Escriba un programa en python que acepte una lista de palabras separadas por guiones, e imprima de vuelta las
mismas palabras, sin repetición y nuevamente separadas por guiones, después de ordenarlas alfabéticamente.
Ejemplo de entrada: naranja-avión-melodía-tupla-avión
Salida esperada: avión-melodía-naranja-tupla
---
%% Cell type:markdown id: tags:
Iniciamos pidiendo al usuario una lista de palabras conectadas con guiones. (Esperamos que el usuario **NO** introduzca espacios en blanco).
Para ello usamos el comando `input()`, el cual permite pedir al usuario información a traves de la pantalla; esta informacion se guarda en una variable de tipo "string".
En nuestro caso llamamos a esta variable `palabras`. A esta variable le agregamos un guion en el extremo derecho. El porque de esta accion se expondra mas adelante.
%% Cell type:code id: tags:
``` python
palabras=input(
"Ingrese una lista de palabras separadas por guiones sin dejar epacios; \
se retornaran las palabras ordenadas alfabeticamente y sin repeticiones")
# Le agrego un guion al final del string original(para que funcione el
# proceso que me invente)
palabras=palabras+"-"
```
%% Output
Ingrese una lista de palabras separadas por guiones sin dejar epacios; se retornaran las palabras ordenadas alfabeticamente y sin repeticiones hola-como-estas
%% Cell type:code id: tags:
``` python
# Creo la lista vacia que va a contener las palabras individuales
lista_de_palabras=[]
```
%% Cell type:markdown id: tags:
## Separacion de las palabras
En la celda siguiente se ejecuta el proceso que permite extraer cada una de las palabras que el usuario ingresó, las cuales estan guardadas como en **UN** solo string, que llamamos `palabras`
"Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los números en la n-ésima fila\n",
"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": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid syntax (<ipython-input-2-5ac345945ba7>, line 10)",
"output_type": "error",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-2-5ac345945ba7>\"\u001b[0;36m, line \u001b[0;32m10\u001b[0m\n\u001b[0;31m lista=\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
]
}
],
"source": [
"def funcion(n):\n",
" lista=[]\n",
" if n==1:\n",
" return [1]\n",
" elif n==2:\n",
" return [1,1] \n",
" else:\n",
" \n",
" for i in range(n-2):\n",
" lista=\n",
" \n",
"\n",
"def triangulo_pascal(n):\n",
" if type(n)is not int:\n",
" print(\"El numero ingresado no es un numero entero\")\n",
" else:\n",
" \n",
" \n",
" \n",
"triangulo_pascal(3.)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Triangulo de Pascal modificado\n",
"\n",
"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",
"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
}
%% Cell type:markdown id: tags:
## 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
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:code id: tags:
``` python
deffuncion(n):
lista=[]
ifn==1:
return[1]
elifn==2:
return[1,1]
else:
foriinrange(n-2):
lista=
deftriangulo_pascal(n):
iftype(n)isnotint:
print("El numero ingresado no es un numero entero")
else:
triangulo_pascal(3.)
```
%% Output
File "<ipython-input-2-5ac345945ba7>", line 10
lista=
^
SyntaxError: invalid syntax
%% Cell type:markdown id: tags:
## 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.
" Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de \n",
" todas las personas de ese país, tabuladas en una forma fácil de entender"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"compas={\n",
"\"juan-pineda\":{\"nombres\":\"Juan Carlos\",\"apellidos\":\"Basto Pineda\",\"pais\":\"Colombia\",\"residencia\":\"Santander\",\"edad\":\"30\",\"institucion\":\"Universidad Industrial de Santander\",\"hobbie\":\"divulgacion cientifica\"},\n",
"\"camacho.reina\":{\"nombres\":\"Reina\",\"apellidos\":\"Camacho Toro\",\"pais\":\"Venezuela\",\"residencia\":\"Francia\",\"edad\":\"36\",\"institucion\":\"CNRS\",\"hobbie\":\"avistamiento de aves\"},\n",
"\"jalil\":{\"nombres\":\"Jalil\",\"apellidos\":\"Varela Manjarres\",\"pais\":\"Colombia\",\"residencia\":\"Valle del Cauca\",\"edad\":\"25\",\"institucion\":\"Universidad del Valle\",\"hobbie\":\"viajar\"},\n",
"\"grisalesj\":{\"nombres\":\"Jennifer\",\"apellidos\":\"Grisales\",\"pais\":\"Colombia\",\"residencia\":\"Cucuta\",\"edad\":\"27\",\"institucion\":\"Universidad Industrial de Santander\",\"hobbie\":\"caminata y deporte\"},\n",
"\"ramosd\":{\"nombres\":\"David\",\"apellidos\":\"Ramos\",\"pais\":\"Colombia\",\"residencia\":\"Santander\",\"edad\":\"26\",\"institucion\":\"Universidad Industrial de Santander\",\"hobbie\":\"escuchar y tocar musica\"},\n",
"\"vargass\":{\"nombres\":\"Sasiri\",\"apellidos\":\"Vargas\",\"pais\":\"Colombia\",\"residencia\":\"Valle del Cauca\",\"edad\":\"24\",\"institucion\":\"Universidad del Valle\",\"hobbie\":\"baile\"},\n",
"\"navasa\":{\"nombres\":\"Alfonso\",\"apellidos\":\"Navas\",\"pais\":\"Colombia\",\"residencia\":\"Bogota\",\"edad\":\"27\",\"institucion\":\"Universidad Nacional de Colombia\",\"hobbie\":\"ciclismo recreacional\"},\n",
"\"aldo\":{\"nombres\":\"Aldo\",\"apellidos\":\"Arriola\",\"pais\":\"Peru\",\"residencia\":\"Lima\",\"edad\":\"26\",\"institucion\":\"Universidad Nacional de Ingenieria\",\"hobbie\":\"caminatas\"},\n",
"\"omarasto\":{\"nombres\":\"Omar\",\"apellidos\":\"Asto\",\"pais\":\"Peru\",\"residencia\":\"Lima\",\"edad\":\"27\",\"institucion\":\"Universidad Nacional de Ingenieria\",\"hobbie\":\"lectura de novelas y poesia\"} \n",
Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de
todas las personas de ese país, tabuladas en una forma fácil de entender
%% Cell type:code id: tags:
``` python
compas={
"juan-pineda":{"nombres":"Juan Carlos","apellidos":"Basto Pineda","pais":"Colombia","residencia":"Santander","edad":"30","institucion":"Universidad Industrial de Santander","hobbie":"divulgacion cientifica"},
"camacho.reina":{"nombres":"Reina","apellidos":"Camacho Toro","pais":"Venezuela","residencia":"Francia","edad":"36","institucion":"CNRS","hobbie":"avistamiento de aves"},
"jalil":{"nombres":"Jalil","apellidos":"Varela Manjarres","pais":"Colombia","residencia":"Valle del Cauca","edad":"25","institucion":"Universidad del Valle","hobbie":"viajar"},
"grisalesj":{"nombres":"Jennifer","apellidos":"Grisales","pais":"Colombia","residencia":"Cucuta","edad":"27","institucion":"Universidad Industrial de Santander","hobbie":"caminata y deporte"},
"ramosd":{"nombres":"David","apellidos":"Ramos","pais":"Colombia","residencia":"Santander","edad":"26","institucion":"Universidad Industrial de Santander","hobbie":"escuchar y tocar musica"},
"vargass":{"nombres":"Sasiri","apellidos":"Vargas","pais":"Colombia","residencia":"Valle del Cauca","edad":"24","institucion":"Universidad del Valle","hobbie":"baile"},
"navasa":{"nombres":"Alfonso","apellidos":"Navas","pais":"Colombia","residencia":"Bogota","edad":"27","institucion":"Universidad Nacional de Colombia","hobbie":"ciclismo recreacional"},
"aldo":{"nombres":"Aldo","apellidos":"Arriola","pais":"Peru","residencia":"Lima","edad":"26","institucion":"Universidad Nacional de Ingenieria","hobbie":"caminatas"},
"omarasto":{"nombres":"Omar","apellidos":"Asto","pais":"Peru","residencia":"Lima","edad":"27","institucion":"Universidad Nacional de Ingenieria","hobbie":"lectura de novelas y poesia"}
}
```
%% Cell type:code id: tags:
``` python
definfo_por_paises(x,y):
# Hago una copia del diccionario compas
copia_compas=x.copy()
# Saco la lista de (key,values)
keys_and_values=copia_compas.items()
# Esta parte añade la key="usuario mattermost"
# a los diccionarios que contienen la informacion
# de los compas.
forrinkeys_and_values:
copia_compas[r[0]]["usuario mattermost"]=r[0]
lista_paises=[]
# Hago una lista de los paises de origen de los compas
# Esta lista puede contener elementos repetidos
forfinkeys_and_values:
lista_paises.append(copia_compas[f[0]]["pais"])
set_paises=set(lista_paises)
# Miro en cada "subdiccionario" el pais de origen,
# si este coincide con el pais que se pidio, se imprime el subdiccionario