Ho un enigma della sfida mentale che voglio risolvere usando python. Forniscono 4 numeri (25, 28, 38, 35) e vogliono che inseriamo i numeri in ... + ...-... = ... Una possibile soluzione è 25 + 38-35 = 28. Ive ha provato a, fare un elenco dei numeri, li iterare con alcuni loop e un se: LST = [25, 28, 38, 35]Python: iterate attraverso una lista
for z in lst:
for x in lst:
for c in lst:
for v in lst:
if z+x-c==v:
print z,x,c,v
Ma quando una corsa del ciclo for si ripetono i numeri, (25 + 25-25 = 25) e che non funzionano. Come posso risolverlo?
Guardare in itertools.permutations – user2097159
A parte la miglior modo di guardare a tutte le permutazioni in Python, considerano (con l'aggiunta di 'c' a entrambi i lati dell'equazione) che stai cercando due valori dai quattro, che sommano insieme metà della somma. Quindi non hai realmente bisogno di tutte le 24 permutazioni, potresti prendere in considerazione solo 6 partizioni: i primi 6 valori da 'itertools.permutations (lst, 2)'. E se i valori sono interi e la somma è dispari, dimenticatene :-) –