Problème des 8 dames méthode en profondeur

Bonjour/ Bonsoir j'ai un petit soucis je doit faire un programme pour résoudre le problème des 8 dames j'ai déjà une base qui est celle ci:
from time import time
L=[3,5,0,4,1,7,2,6]
def test(L):
a=True
for i in range(len(L)):
for j in range(i+1,len(L)):
if (abs(L[j]-L[i])/(j-i))==1 or L[i]==L[j]:
a=False
return a
L=[]
compt=0
t1=time()
for i in range (8):
for j in range (8):
for k in range (8):
for l in range (8):
for m in range (8):
for n in range (8):
for o in range (8):
for p in range (8):
L=[i,j,k,l,m,n,o,p]
if test(L):
print(L)
compt+=1
print(compt)
L=[]
t2=time()
print (test(L))

et je doit rendre tout ceci plus efficace en utiliser la méthode en profondeur mais je suis perdu et ne sait pas comment faire merci d'avance pour votre aide

2 réponses

  1. Contributeur
    tu peux déjà rendre cela énormément plus efficace en travaillant sur ta fonction test().
    1. Contributeur
      1. Mon but n'est pas d'avoir une réponse toute fait car si je fait quelque chose que je ne comprend pas cela n'as aucun intérêt mon but et de comprendre et d'obtenir des elements qui m'aideront à résoudre mon problème merci quand même de remettre en place les règle
      2. Contributeur
        @Hugoje suppose que tu suis une formation qui explique ce concept de méthode en profondeur.
        pour ce que j'en comprends, c'est exactement la méthode qui me vient à l'esprit si je voulais réaliser cela sans ordi.