# Listas: conjunto de elementos sobre el que podemos realizar diferentes operaciones # Tuplas: como las listas pero se pueden desempaquetar # Diccionarios: Conjunto de pares clave, valor notas = [1, 2, 3, 4] tupla = (1, 2, 3) diccionario = { "nombre": "Ana", "nota": 6 } # En python todo esto se puede combinar # Quiero guardar los datos de un alumno alumno = { "nombre": "ana", "email": "ana@ana.es", "curso": "Python" } # Quiero guardar también las asignaturas, que son varias alumno = { "nombre": "ana", "email": "ana@ana.es", "curso": "Python", "asignaturas": ["Programación", "Bases de datos"] } # Para cada asignatura, quiero guardar su nota y su profesor alumno = { "nombre": "ana", "email": "ana@ana.es", "curso": "Python", "asignaturas": [{"nombre": "Programación", "nota": 7, "profesor": "JP"}, {"nombre": "Bases de datos", "nota": 8, "profesor": "Iu"}] } # Para cada asignatura, tiene 3 notas alumno = { "nombre": "ana", "email": "ana@ana.es", "curso": "Python", "asignaturas": [{"nombre": "Programación", "nota": [7, 8, 6], "profesor": "JP"}, {"nombre": "Bases de datos", "nota": [8, 9, 9], "profesor": "Iu"}] } # Guardar la información de toda la clase que son varios alumnos clase = [{ "nombre": "ana", "email": "ana@ana.es", "curso": "Python", "asignaturas": [{"nombre": "Programación", "nota": [7, 8, 6], "profesor": "JP"}, {"nombre": "Bases de datos", "nota": [8, 9, 9], "profesor": "Iu"}] }, { "nombre": "iu", "email": "iu@iu.es", "curso": "Python", "asignaturas": [{"nombre": "Programación", "nota": [4, 2, 3], "profesor": "JP"}, {"nombre": "Bases de datos", "nota": [8, 9, 9], "profesor": "Iu"}] } , { "nombre": "Eva", "email": "eva@eva.es", "curso": "Bases de datos", "asignaturas": [{"nombre": "sistema", "nota": [5, 7, 6], "profesor": "Pep"}, {"nombre": "Bases de datos", "nota": [7, 6, 9], "profesor": "Iu"}] } ] for alumno in clase: print(alumno) # Recorro los alumnos que, recordemos, son diccionarios # Quiero un listado de todos los alumnos for alumno in clase: print(alumno["nombre"]) nombres = [alumno['nombre'] for alumno in clase] print(nombres) # Para cada alumno ver las asignaturas que tiene # Primero me recorro los alumnos for alumno in clase: print(f"El alumno {alumno['nombre']} tiene las asignaturas:") for asignatura in alumno["asignaturas"]: print(asignatura["nombre"]) # Para cada alumno ver los profesores que tiene for alumno in clase: print(f"El alumno {alumno['nombre']} tiene los profesores:") for asignatura in alumno["asignaturas"]: print(asignatura["profesor"]) print(f"Que le ha puesto las siguienes notas") for nota in asignatura["nota"]: print(nota) votaciones = [ { "votante": "Juan", "votos": [ {"participante": "Ana", "puntos": 5}, {"participante": "Pedro", "puntos": 3} ] }, { "votante": "Marta", "votos": [ {"participante": "Ana", "puntos": 4}, {"participante": "Luis", "puntos": 2} ] }, { "votante": "Pedro", "votos": [ {"participante": "Ana", "puntos": 3}, {"participante": "Luis", "puntos": 5} ] } ] # Nombre de los votantes for votante in votaciones: print(f"El votante {votante["votante"]} ha hecho los siguientes votos") for voto in votante["votos"]: print(f"{voto["puntos"]} al participante {voto["participante"]}") # Cuantos puntos tiene un participante def puntosParticipante(votaciones, participante): puntos = 0 for votante in votaciones: for voto in votante["votos"]: if voto["participante"] == participante: puntos += voto["puntos"] return puntos print(puntosParticipante(votaciones, "Ana"))