Skip to content
Snippets Groups Projects
Commit 92ce11cf authored by Lorena Bucuru Rodriguez's avatar Lorena Bucuru Rodriguez
Browse files

Subir los punts 1 y 2 completos y un avance del ejercicio 3.

parent 405d62cc
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Lista de Palabras
Mi nombre es Lorena Bucurú Rodríguez, el problema a resolver es el siguiente:
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.
<strong>Ejemplo de entrada:</strong> naranja-avión-melodía-tupla-avión<br>
<strong>Salida esperada:</strong> avión-melodía-naranja-tupla
### Solución:
Para resolver este problema, pensé en los siguientes pasos:
1. usar funciones como <em>split()</em>, la cual me permitirá separar la lista, ya que las palabras están separadas por guiones.
2. Guardaré esta lista como un nueva variable y luego la convertire en un conjunto usando <em>set(nombre de la lista)</em>.
3. Usare la función <em>sorted(Nombre de la lista)</em> para ordenar el conjunto alfabéticamente.
4. Finalmente mostraré el conjunto en pantalla.
%% Cell type:markdown id: tags:
## Paso 1: Usar <em>split()</em>
%% Cell type:code id: tags:
``` python
list = "naranja-avión-melodía-tupla-avión-carro-perro-xilofono-perro-año"
SplitList = list.split("-") # Se hace una nueva lista, las palabras entre "-" seran una entrada.
print(SplitList)
```
%% Output
['naranja', 'avión', 'melodía', 'tupla', 'avión', 'carro', 'perro', 'xilofono', 'perro', 'año']
%% Cell type:markdown id: tags:
## Paso 2: Convertir en conjunto
%% Cell type:code id: tags:
``` python
ListSet = set(SplitList)
print(ListSet)
```
%% Output
{'carro', 'avión', 'melodía', 'año', 'xilofono', 'naranja', 'tupla', 'perro'}
%% Cell type:markdown id: tags:
## Paso 3: Usar <em>sorted(Nombre de la lista)</em>
%% Cell type:code id: tags:
``` python
OrdenedSet = sorted(ListSet)
print("Sorted list: ",OrdenedSet)
```
%% Output
Sorted list: ['avión', 'año', 'carro', 'melodía', 'naranja', 'perro', 'tupla', 'xilofono']
%% Cell type:markdown id: tags:
# Triangulo de Pascal
Mi nombre es Lorena Bucurú Rodríguez, el problema a resolver es el siguiente:
1. 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.
2. 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.
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tri%C3%A1ngulo_de_Pascal.svg/846px-Tri%C3%A1ngulo_de_Pascal.svg.png" alt="drawing" width="200"/>
### Solución 1:
Para resolver este problema, pensé en usar la cobinatoria para hallar los valores del triangulo. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPsAAADBCAMAAAA+TTZfAAAABlBMVEX///8AAABVwtN+AAADvklEQVR4nO2bi3LDIAwEo///6U7b2GAgjHUogKy7mbYOkwU2fmFCXy+GmRmpNsLk11hEjs1IkewnmPypLOlllAR2T8bvrUDypXukHU/3yO7H/f0V0b1T8NzQvVfw3NC9V/Dc0L1X8NzQvVfw3HBcF3k8T/esIEToTvesIEQiz1WeyvF2eyUbyv1qG0v94htNPfR30AzDMIz/DNzGvA92s3VEWgfvy5D++w7tQEmkS/lCWuNwsfYoH9i9dFZMT1ylHc5rVPsbdXe44+ke2h35ys39ZN7AV63uJ/Po3iu4i9LdU+jeK7iL0t1T6N4ruIu6dcfHde7HtNDyguI7+YDukfc73VXgLqE73f+2As1Vjsy+SE46VB8ZncnHF14yYCDNTU8ZMABmdzfLgIHbOVqGYRjmMcFvYytI02Qjb2VHVpCmkeOXuiMrSNPIdUvRkRWkbQK7l88q92cZVpC2kXILMJhH2qa61+gNJpK2yZpXTi+tIG1zTiaqp9ZWkLapmkWuWNNI29C9V7ATaRu69wp2Im1D917BTqRt6N4r2Im0TRpjaftRAcC4TkvaJg0qwacxQd2RNm0z7I7vd6BN29Cd7rp+GLh7v9YNuOtJ25Tu+hnH86/6DqFv0zhH8/pTb5BcPm1TNax2n0saRz6+2JE0jjQ3dyWNg19vV5AMwzAMc4mv25jp890xgNbXt4o0W4MlZ43a+laREPixG9cOeSC14I3a8H7MJU2eb1M30OmJFaQa7PdD/VmuJS12PN3H+uHcXfQza+tIAOz1o1OwM0l3NDsY0B0h6Y5mBwO6IyTd0exgsNodHp1lVUxr03ZcJ+cmYFAUfL1NAPxKP14D+32gzcjumxzzK9x3Od9H3OHr61eOeWTW7f1nJqntbK+65K4lkXMvEWibarDbD/2yplHyXEulJe3WYMnHF7uTw+qNy64T0kC9ccV2QZqoMwzDMP7j8zamJltgdk8EhxIuyBZ4eeyFhpAuyBaYPg78Uc0B2QRdGdi6l2cB9N9O+5NNMDvylY+9rsgmeBTq5wpckU2wutepjz8XZBN0ZfA99+pdt6vbn2yCrgzojpB0LwpcGdAdIeleFLgyoDtCdt1dLSfSk71xnVwKlf2o679F4m3qyfQ+sXTH9/tAm7C7mO73Ne7oMf8Ad/R8F9vzfcQdvr6Cx/xVc6n7vCPm0GzN25ybMxdECd6mlmyD6RMp33SzvvnLiZD1RMV51sT17j7INiidtyjq251sg9UFBKlvf7INtj4FZX0eSLxJhmEYhmGc5AcD3AXPj289MwAAAABJRU5ErkJggg==" alt="drawing" width="200"/>
%% Cell type:code id: tags:
``` python
# Se recibe un numero n para saber los valores
# del triangulo de Pascal en esa fila.
# Las filas se empiezan a contar desde cero.
fila = 8
def Factorial(a):
"""Calculo del factorial de un numero."""
if a == 0 or a == 1:
return 1
else:
a *= Factorial(a - 1)
return a
def Combinatoria(n, p):
"""Calculo de la combinatoria. (n,p)"""
comb = Factorial(n) / (Factorial(p) * Factorial(n - p))
return comb
# Se genera una lista vacía para llenarla con lo valores del triagulo de Pascal.
List = []
# se verifica que "fila" sea entero.
if isinstance(fila, int) == True:
# Se llenan la lista con los datos y se imprime.
for i in range(fila + 1):
List.append(int(Combinatoria(fila, i)))
# Los datos son mostrados en pantalla
print(f"Los numeros de la fila {fila} en el triangulo de Pascal son: ",List)
else:
#Se muestra el mensaje de error.
print("Error, el número no es entero, vuelva a intentar.")
```
%% Output
Los numeros de la fila 8 en el triangulo de Pascal son: [1, 8, 28, 56, 70, 56, 28, 8, 1]
%% Cell type:markdown id: tags:
### Solución 2:
Para resolver este problema, pensé en usar la cobinatoria para hallar los valores del triangulo y convertir los datos de entrada en una lista.
%% Cell type:code id: tags:
``` python
# Se recibe una lista con n1, n2, .. para saber los valores
# del triangulo de Pascal en esas filas.
# Las filas se empiezan a contar desde cero.
filas = [5, 3, 8, 4, 2]
def Factorial(a):
"""Calculo del factorial de un numero."""
if a == 0 or a == 1:
return 1
else:
a *= Factorial(a - 1)
return a
def Combinatoria(n, p):
"""Calculo de la combinatoria. (n,p)"""
comb = Factorial(n) / (Factorial(p) * Factorial(n - p))
return comb
# Se genera la lista que contendrá todos los valores
List = []
# Se va corriendo por la lista de entrada para verificar si son enteros todos.
for j in filas:
# Se verifica que todos sean enteros
if isinstance(j, int) == True:
# Creamos una lista que iremos llenando
Lista_j = []
# Se llenan la lista con los datos y se imprime.
for i in range(j + 1):
Lista_j.append(int(Combinatoria(j, i)))
# Se añaden las listas de los valores del triangulo de Pascal a la lista de listas.
List.append(Lista_j)
# Se imprime la lista de listas.
print(f"Los numeros de la filas {filas} en el triangulo de Pascal son: {List}, respectivamente.")
# Generamos una variable que servirá para encontrar la entrada en la que no haya un número entero.
m = 0
# Se va corriendo por la lista de entrada para verificar si alguno es falso.
for j in filas:
# Contador
m += 1
# Verificación
if isinstance(j, int) == False:
#Se muestra el mensaje de error.
print(f"Error, la variable {j} no es entero en la entrada {m} de la lista ingresada, vuelva a intentar.")
```
%% Output
Los numeros de la filas [5, 3, 8, 4, 2] en el triangulo de Pascal son: [[1, 5, 10, 10, 5, 1], [1, 3, 3, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 4, 6, 4, 1], [1, 2, 1]], respectivamente.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
# Amigos congueros
Mi nombre es Lorena Bucurú Rodríguez, el problema a resolver es el siguiente:
1. Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.
2. Cree un diccionario llamado “compas”, donde la llave sea el nombre de usuario en mattermost, y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo es a la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”, “institución”, “hobbie”.
3. 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. -Busque una forma de calcular, a partir del diccionario, el promedio de edad de todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)
%% Cell type:code id: tags:
``` python
for i in range(9):
print(f"\n Usted es el estudiante {i}")
estudiante_i = dict(nombre_completo = (input("Escriba su nombre completo: ").lower()).replace(" ","-"),
usuario_mattermost = input('Escriba su usuario de mattermost: ').lower(),
edad = int(input("Digite su edad: ")),
pais_origen = input("¿Cuål es su ciudad de origen: ").lower(),
ciudad_residencia = input("¿Cuál es su ciudad de residencia?: ").lower(),
especialidad_cientifica = (input("¿Cuál es su especialidad científica: ").lower()).replace(" ","-"),
instituto = (input("¿En qué istituto trabaja o labora?: ").lower()).replace(" ","-"),
hobbie = (input("Un hobbie o afición: ").lower()).replace(" ","-")
)
print(estudiante["nombre"])
```
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