Advertisement
Guest User

media inversa

a guest
Jun 27th, 2012
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. ###################################################################
  2.  
  3. #media inversa (kata)
  4.  
  5. #numero del que se quiere calcular la media inversa
  6. num = 4.25
  7.  
  8. #lista con los valores de 1 a 10
  9. ls_1_10 = [1,2,3,4,5,6,7,8,9,10]
  10.  
  11. #otra lista con el numero multiplicado por 1, por 2... hasta 10
  12. ls = []
  13. for i in ls_1_10:
  14.     ls.append(round(i*num,2))
  15.  
  16. #lista que almacena las diferencias entre
  17. #el valor y el entero mas cercano
  18. ls_dif=[]
  19. for i in ls:
  20.     ls_dif.append(round(abs(i-round(i)),2))
  21.  
  22. #calculo la posicion y el valor
  23. indice = ls_dif.index(min(ls_dif))
  24. N = round(ls[indice])
  25.  
  26. #recibe como entrada la cantidad de numeros para hacer media. busca
  27. #combinaciones de esa cantidad de numeros que hacen que la suma sea N,
  28. #o sea, cuya media se parezca a num
  29. def busca(indice):
  30.    
  31.     lista_total = [1]*(indice+1)
  32.        
  33.     for i in ls_1_10:
  34.         for j in range(indice+1):
  35.             lista_total[j] = i
  36.             if sum(lista_total) == N:
  37.                 return lista_total
  38.  
  39. resultado = busca(indice)
  40.  
  41. print resultado
  42. #######################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement