Skip to content
Snippets Groups Projects
Commit 4c04a8dd authored by Robin Noe Camacho Chavez's avatar Robin Noe Camacho Chavez
Browse files

tarea_02

parent 405d62cc
Branches master
No related tags found
No related merge requests found
.ipynb_checkpoints/
%% Cell type:markdown id: tags:
## Noé Camacho
%% Cell type:markdown id: tags:
![image.png](attachment:image.png)
%% Cell type:markdown id: tags:
## Input
Con el comando **input** vamos a ingresar la lista de palabras separadas por guiones
%% Cell type:code id: tags:
``` python
#Input recibe lo ingresado como cadena de caracteres, no hay necesidad de convertir a str
#Puede ingresar todas las palabras que crea pertinente
#Words = naranja-platano-manzana-pera-uva-sandia-sandia-sandia
words = input('Ingrese la lista de palabras separadas por guiones', )
print(words)
```
%% Output
Ingrese la lista de palabras separadas por guionesnaranja-platano-manzana-pera-uva-sandia-sandia-sandia
naranja-platano-manzana-pera-uva-sandia-sandia-sandia
%% Cell type:markdown id: tags:
## split
Input recibe todo como una sola cadena de caracteres, con este comado vamos a separarlo apoyandonos en los guiones y convirtiendolo en una lista
%% Cell type:code id: tags:
``` python
array_words = words.split('-')
print(array_words)
```
%% Output
['naranja', 'platano', 'manzana', 'pera', 'uva', 'sandia', 'sandia', 'sandia']
%% Cell type:markdown id: tags:
## sorted y set
**Sorted:** Ordena los elementos de la lista. Por defecto de 'a' a 'z'\
**set:** Elimina elementos repetidos de la lista
%% Cell type:code id: tags:
``` python
array = sorted(set(array_words))
print(array)
```
%% Output
['manzana', 'naranja', 'pera', 'platano', 'sandia', 'uva']
%% Cell type:markdown id: tags:
## join
Este comando une la lista en una cadena de caracteres nueamente.
%% Cell type:code id: tags:
``` python
str_word = '-'.join(array)
print(str_word)
```
%% Output
manzana-naranja-pera-platano-sandia-uva
%% Cell type:markdown id: tags:
## Noé Camcho
%% Cell type:markdown id: tags:
![image.png](attachment:image.png)
%% Cell type:markdown id: tags:
# Primer punto
%% Cell type:markdown id: tags:
Definimos una función para crear triangulos de pascal\\
Tomar nota de zip()
%% Cell type:markdown id: tags:
## zip
%% Cell type:code id: tags:
``` python
#Así funciona zip, empareja elemntos.
a = (3,4,8,7,5)
b = (5,8,7,8,7)
x = zip(a, b)
print(tuple(x))
```
%% Output
((3, 5), (4, 8), (8, 7), (7, 8), (5, 7))
%% Cell type:markdown id: tags:
## list comprehension
%% Cell type:code id: tags:
``` python
#Ejemplo de como funciona list comprehension python
fila = [1] #Primero elemento
cero = [5] #Elemento neutro
filas = [i + d for i, d in zip(fila + cero, cero + fila)] #itera sobre todo lo generado por zip que para este caso es ((1,5),(5,1))
#devuele la suma i+d de cada subtupla de la tupla grande que genera zip
print(filas)
```
%% Output
[6, 6]
%% Cell type:markdown id: tags:
## Algorimo
%% Cell type:code id: tags:
``` python
n = 4
fila = [1] #Primero elemento
cero = [0] #Incializador de la suma, pruba combiando de nummero
for i in range(n):
#La lista fila va aumentando por for de list comprehension y generando numeros
print('---------------')
print('fila que vale del triangulo',fila)
#list comprehension python
fila = [i + d for i, d in zip(fila + cero, cero + fila)]
print('----', fila)
```
%% Output
---------------
fila que vale del triangulo [1]
---- [1, 1]
---------------
fila que vale del triangulo [1, 1]
---- [1, 2, 1]
---------------
fila que vale del triangulo [1, 2, 1]
---- [1, 3, 3, 1]
---------------
fila que vale del triangulo [1, 3, 3, 1]
---- [1, 4, 6, 4, 1]
%% Cell type:markdown id: tags:
## funcion
%% Cell type:code id: tags:
``` python
def pascal_triangulo(n):
if type(n) == int:
fila = [1] #Primero elemento
cero = [0] #Incializador de la suma, pruba combiando de nummero
for i in range(n):
print(fila)
#list comprehension python
fila = [i + d for i, d in zip(fila + cero, cero + fila)]
else:
print('n no es un numero entero')
print('n es tipo ', type(n))
print('Ingrese un numero entero porfavor')
```
%% Cell type:code id: tags:
``` python
pascal_triangulo(0.5)
```
%% Output
n no es un numero entero
n es tipo <class 'float'>
Ingrese un numero entero porfavor
%% Cell type:markdown id: tags:
# Segundo punto
%% Cell type:code id: tags:
``` python
def new_pascal_triangulo(n):
if type(n) == int:
fila = [1] #Primero elemento
cero = [0] #Incializador de la suma, pruba combiando de nummero
for i in range(n):
#list comprehension python
fila = [i + d for i, d in zip(fila + cero, cero + fila)]
#print(fila)
else:
print('n no es un numero entero')
print('n es tipo ', type(n))
print('Ingrese un numero entero porfavor')
return fila
```
%% Cell type:code id: tags:
``` python
count_elements = int(input('Ingrese la cantidad de numeros que piensa ingresar', ))
array_number = []
for i in range(count_elements):
number = int(input('Ingrese un numero:', ))
array_number.append(number)
```
%% Output
Ingrese la cantidad de numeros que piensa ingresar5
Ingrese un numero4
Ingrese un numero6
Ingrese un numero1
Ingrese un numero2
Ingrese un numero4
%% Cell type:code id: tags:
``` python
filas_n = []
for i in array_number:
filas_n.append((new_pascal_triangulo(i), f'numero_{i}'))
filas_n
```
%% Output
[([1, 4, 6, 4, 1], 'numero_4'),
([1, 6, 15, 20, 15, 6, 1], 'numero_6'),
([1, 1], 'numero_1'),
([1, 2, 1], 'numero_2'),
([1, 4, 6, 4, 1], 'numero_4')]
%% Cell type:markdown id: tags:
## Noe Camacho
%% Cell type:markdown id: tags:
![image.png](attachment:image.png)
%% Cell type:markdown id: tags:
# Datos
- Por cuestiones de tiempo solo logre conseguir 7 datos de mis amigos congueros, pero el codigo esta construido de forma que solo tengo que agregar mas listas siguiendo el mismo estilo de nombre de las listas y seguirá funcionando.
### Importante correr una vez, reinciar el kernel para volver a correr
%% Cell type:code id: tags:
``` python
head_data = ['nombre', 'user', 'edad', 'pais', 'ciudad', 'especialidad', 'universidad', 'hobbie']
```
%% Cell type:code id: tags:
``` python
#data de congueros
data_1 = ['Mariana Vivas', '@vivasm', '23', 'venezuela', 'caracas','fisica',
'Universidad Central de Venezuela ', 'ballet' ]
data_2 = ['david ramos', '@ramosd', '24', 'colombia', 'bucaramanga', 'astrofisica relativista',
'Universidad Industrial de Santander', 'guitarra']
data_3 = ['carlos andres pizon osorio', '@pinzonc', '30', 'colombia', 'bogota', 'fisica de altas energias',
'Universidad Antonio Narío', 'atletismo']
data_4 = ['juan david hernandez', '@hernandezj', '24', 'colombia', 'bogota', 'electrodinamica cuantica',
'Universidad Nacional de Cololmbia', 'leer y videojuegos']
data_5 = ['Nicolás Fernández Cinquepalmi', '@fernandezn', '27', 'argentina', 'lima', 'fisica nueclear',
'Universidad Nacional Mayor de San Marcos', 'piano']
data_6 = ['Daniel Arturo Brito Urbina', '@britod', '26', 'venezuela', 'caracas', 'Teorica de campos',
'Universidad Central de Venezuela' 'Patinetas, Bicicletas y Video juegos']
```
%% Cell type:markdown id: tags:
## Punto 2
%% Cell type:code id: tags:
``` python
#Se agregan todos las listas anteriores en una sola lista llamada data
data = []
n = 6 # cantidad de datos recolectados
for i in range(1,n+1):
data.append(globals()[f'data_{i}'])
```
%% Cell type:code id: tags:
``` python
data
```
%% Output
[['Mariana Vivas',
'@vivasm',
'23',
'venezuela',
'caracas',
'fisica',
'Universidad Central de Venezuela ',
'ballet'],
['david ramos',
'@ramosd',
'24',
'colombia',
'bucaramanga',
'astrofisica relativista',
'Universidad Industrial de Santander',
'guitarra'],
['carlos andres pizon osorio',
'@pinzonc',
'30',
'colombia',
'bogota',
'fisica de altas energias',
'Universidad Antonio Narío',
'atletismo'],
['juan david hernandez',
'@hernandezj',
'24',
'colombia',
'bogota',
'electrodinamica cuantica',
'Universidad Nacional de Cololmbia',
'leer y videojuegos'],
['Nicolás Fernández Cinquepalmi',
'@fernandezn',
'27',
'argentina',
'lima',
'fisica nueclear',
'Universidad Nacional Mayor de San Marcos',
'piano'],
['Daniel Arturo Brito Urbina',
'@britod',
'26',
'venezuela',
'caracas',
'Teorica de campos',
'Universidad Central de VenezuelaPatinetas, Bicicletas y Video juegos']]
%% Cell type:markdown id: tags:
## Diccionario compas
**De aquí en adelate correr una vez!!**
%% Cell type:code id: tags:
``` python
# Se crea una lista nueva con todos los users
users = [i[1] for i in data]
users
```
%% Output
['@vivasm', '@ramosd', '@pinzonc', '@hernandezj', '@fernandezn', '@britod']
%% Cell type:code id: tags:
``` python
#correr una vez porque el ciclo for seguira eliminando elementos cada que corra!!!
#Se eliina los datos de user de data, previamente se hace una copia
data_sin_user = data.copy()
for i in data_sin_user:
j = i.pop(1)
```
%% Cell type:code id: tags:
``` python
data_sin_user
```
%% Cell type:code id: tags:
``` python
# Se crea el diccionario compas
compas = []
for i in users:
compas = dict(tuple(zip(users,[i for i in data_sin_user])))
```
%% Cell type:code id: tags:
``` python
##leyendo el diccionario
for i in compas:
print('----------')
print(i)
print(compas[i])
print('----------')
```
%% Cell type:markdown id: tags:
## Punto 3
%% Cell type:code id: tags:
``` python
def read_data(dict_data, pais):
data = []
user_i = []
for i in dict_data:
if dict_data[i][2] == str(pais):
user_i.append(i)
data.append(dict_data[i])
return data, user_i
```
%% Cell type:code id: tags:
``` python
def read_nice(dict_data, users):
import pandas as pd
datos = pd.DataFrame([compas[i] for i in users])
datos.columns = ['nombre', 'edad', 'pais', 'ciudad', 'especialidad', 'universidad', 'hobbie']
return datos
```
%% Cell type:code id: tags:
``` python
data, usuario = read_data(compas,'colombia')
```
%% Cell type:code id: tags:
``` python
df_data = read_nice(compas, usuario)
df_data.head()
```
%% Cell type:markdown id: tags:
### La media
Se puede haacer usando numpy o el mismo python tambien
%% Cell type:code id: tags:
``` python
df_data['edad'] = df_data['edad'].astype(int)
print('La media es: ')
df_data['edad'].mean()
```
%% Cell type:code id: tags:
``` python
# Para este caso no hay repeticiones pero con este linea de codigo se imprimen sin repetciones
import numpy as np
universidad = set(np.array(df_data['universidad']))
```
%% Cell type:code id: tags:
``` python
universidad
```
%% Cell type:code id: tags:
``` 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