Untitled
unknown
python
4 years ago
1.5 kB
4
Indexable
#Datos aleatorios para que furule el codigo. M=6 MasterList=[[9, 5, 2, 8, 9, 9],[3, 3, 5, 1, 4, 5, 1, 2],[1, 2, 9, 5, 4, 7, 3],[7, 5, 8, 8, 4],[5, 1, 4, 2]] BestResult=[0] ListaCombinaciones=[] numerodecombinaciones=[0] #Esta funcion coje cada combinacion, hace calculos con ellas, y guarda el maximo resultado en BestResult. def DoCalc(lista): k=0 for numero in lista: k+=(numero*numero) if k%M>BestResult[0]: BestResult[0]=k%M def EnsenarCombinaciones(lista): dummylist=[] for item in lista: dummylist.append(item) ListaCombinaciones.append(dummylist) numerodecombinaciones[0]+=1 #Esta parte inicia una lista con la que trabajar SolutionList2=[] for listt in MasterList: SolutionList2.append(listt[0]) #En esta funcion esta la chicha, mira aqui para entender el codigo. def Iter2(MasterList,i=0): j=0 if i==len(MasterList)-1: #Si estamos en la ultima fila: while j<len(MasterList[i]): SolutionList2[i]=MasterList[i][j] #DoCalc(SolutionList2) EnsenarCombinaciones(SolutionList2) j+=1 else: while j<len(MasterList[i]): #En el resto de casos SolutionList2[i]=MasterList[i][j] Iter2(MasterList,i+1) j+=1 #Esto imprime el resultado en pantalla, el resultado es BestResult, que no te interesa. Iter2(MasterList) print(numerodecombinaciones)
Editor is loading...