Repaso (III)

# estructuras de datos
# una variable nos permite almacenar un valor
# muchos valores no es comodo usar muchas variables
# Estructuras que nos permiten almacenar un numero arbitrario de valores

# tuplas: se definen con paréntesis, no se pueden modificar
tupla=(1,2,3)
otra_tupla=(1,"hola",7.8,False)

a,b,c=tupla #desempaquetado de tupla a=1, b=2 y c=3

def estadistica(*args):
    total=0
    for numero in args:
        total+=numero
    return (total,total/len(args))

print(estadistica(1,2,3))

# listas: colección de elementos que se puede modificar
# es el equivalente al array de otros lenguajes
lista=[1,2,3,4]
otra_lista=[1,"hola",7.0,True]

lista[1]=90
print(lista)
for i in range(len(lista)):
    print(lista[i])
    lista[i]*=2

for numero in lista:
    print(numero)
    numero=numero*2
print(lista)

# Comprension de listas
# [nuevo_elemento for elemento in secuencia if condición]
lista1=[elemento for elemento in lista]
print(lista1)
lista2=[elemento for elemento in lista if elemento<20]
print(lista2)
lista3=[elemento/2 for elemento in lista if elemento<20]
print(lista3)
lista4=[]
for elemento in lista:
    if elemento<20:
        lista4.append(elemento/2)
print(lista4)

# diccionarios: conjunto de pares clave, valor
diccionario={"Nombre":"Ana","nota":7,"email":"ana@ana.com"}
print(diccionario)
otro_diccionario={1:"Ana",3:7,9:"ana@ana.com"}
print(otro_diccionario)
print(diccionario["Nombre"])
print(otro_diccionario[1])
diccionario["Nombre"]="Ana Pi"
print(diccionario)
for elemento in diccionario:
    print(elemento)
for elemento in diccionario.values():
    print(elemento)
for elemento in diccionario.items():
    print(elemento)

# conjunto es lo mismo pero no podemos tener valores repetidos
conjunto={1,2,3,5,5,5,5,5}
print(conjunto)

# tener estructuras complejas: estructuras dentro de estructuras

tupla_rara=(1,"cadena",
            ["a","b","c",
             {"nombre":"Ana",
              "notas":(6,9,1,
                       {"nota":9,"observaciones":"Progresa adecuadamente"})}])
valor=tupla_rara[2][3]["notas"][3]["observaciones"]
print(valor)

clase=[{"nombre":"Ana","notas":[1,2,3]},
       {"nombre":"Pep","notas":[11,2,3]},
       {"nombre":"Eva","notas":[1,22,3]}]

for alumno in clase: # con esto recorro los alumnos
    print(alumno)
    print("Para el alumno "+alumno["nombre"]) # ya tengo un alumno individual
    total=0
    for nota in alumno["notas"]: # recorro sus notas
        print(nota) # ya tengo la nota individual
        total+=nota
    print ("La media es "+str(total/len(alumno["notas"])))

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos