# Crear una función a la que le pasemos una lista de números y nos devuelva # una tupla con la suma de los números pares y de los impares: # sumaparidad([1,2,3,4])->(6,4) def sumaparidad(lista): pares=0 impares=0 for numero in lista: if numero%2==0: pares+=numero else: impares+=numero return (pares,impares) def sumaparidad2(lista): pares=[numero for numero in lista if numero%2==0] impares=[numero for numero in lista if numero%2!=0] return (sum(pares),sum(impares)) def sumaparidad3(lista): return (sum([numero for numero in lista if numero%2==0]),sum([numero for numero in lista if numero%2!=0])) print(sumaparidad3([1,2,3,4])) milista=[1,1,1,1,1,2,2,2,2,2] print(sumaparidad3(milista)) # Crear una función a la que le pasamos un diccionario con una lista # de clientes y sus deudas y nos devuelva el total de deudas. # La lista sería así: # clientes={"Ana":[100,500,3000],"Eva":[900,300,200]} # # totaldeuda(clientes)->5000 def totaldeuda(clientes): total=0 for deudas in clientes.values(): total+=sum(deudas) return total def totaldeuda2(clientes): return sum(sum(clientes.values(),[])) print(totaldeuda2(clientes)) # sum(clientes.values(),[]) concatena diferentes listas en una lista print(clientes.values()) print(sum(clientes.values(),[])) lista1=[[1,2,3],[3,4,5],[7,8,9]] lista4=sum(lista1,[]) print(lista4) # Crea una función a la que le pasamos una lista de diccionarios # que son alumnos con el siguiente formato: # clase=[{"nombre":"Ana","notas":[5,7,8]},{"nombre":"Pep","notas":[8,6,8]}] # # Y que nos devuelva la media total de las notas # # media_total(clase)->7 def media_total0(clase): total_notas=0 numero_notas=0 for alumno in clase: for nota in alumno["notas"]: total_notas+=nota numero_notas+=1 return round(total_notas/numero_notas,2) def media_total(clase): total_notas=[] for alumno in clase: total_notas+=alumno["notas"] return round(sum(total_notas)/len(total_notas),2) def media_total_ninja(clase): # Anidación de compresión de listas total_notas=[nota for alumno in clase for nota in alumno["notas"]] return round(sum(total_notas) / len(total_notas), 2) print(media_total_ninja(clase))