Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###################################################################
- #media inversa (kata)
- #numero del que se quiere calcular la media inversa
- num = 4.25
- #lista con los valores de 1 a 10
- ls_1_10 = [1,2,3,4,5,6,7,8,9,10]
- #otra lista con el numero multiplicado por 1, por 2... hasta 10
- ls = []
- for i in ls_1_10:
- ls.append(round(i*num,2))
- #lista que almacena las diferencias entre
- #el valor y el entero mas cercano
- ls_dif=[]
- for i in ls:
- ls_dif.append(round(abs(i-round(i)),2))
- #calculo la posicion y el valor
- indice = ls_dif.index(min(ls_dif))
- N = round(ls[indice])
- #recibe como entrada la cantidad de numeros para hacer media. busca
- #combinaciones de esa cantidad de numeros que hacen que la suma sea N,
- #o sea, cuya media se parezca a num
- def busca(indice):
- lista_total = [1]*(indice+1)
- for i in ls_1_10:
- for j in range(indice+1):
- lista_total[j] = i
- if sum(lista_total) == N:
- return lista_total
- resultado = busca(indice)
- print resultado
- #######################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement