Traduction

Pierre -  
 Pierre -
Bonjours j'ai besoin de votre aide j'ai ce code:
def diagAscendante(i, j):
j1 = j - min(i, j)-1
for i1 in range(i-min(i,j),min(8,7-j1)):
j1+=1
yield i1, j1
def diagDescendante(i, j):
j1=j+min(i,7-j)+1
for i1 in range(i-min(i,7-j),min(8,j1)):
j1-=1
yield i1, j1
def positionValide(L, l, c):
if not L[l] < 0: return False
try:
z=L.index(c)
return False
except ValueError:
pass
diagonaleAscendante = diagAscendante(l, c)
if any([L[i]==j for i, j in diagonaleAscendante]): return False
diagonaleDescendante = diagDescendante(l, c)
if any([L[i]==j for i, j in diagonaleDescendante]): return False
return True

from time import perf_counter
def backTracking(L, l, c):
while c > 7 and l > 0:
l -= 1
c=L[l]+1
L[l] = -1
if c > 7: return -1, 0
return l, c
T=perf_counter()
S = [] # Liste des solutions.
L = [-1 for _ in range(8)]
l=0
c=0
while l >= 0:
while c < 8:
if not positionValide(L, l, c):
c+=1
else:
L[l] = c
c+=1
l += 1
if l <= 7:
c=0
else:
S.append(L[:])
l -= 1
c+=1
L[l] = -1
l, c = backTracking(L, l, c)
print("Temps: {round(perf_counter()-T, 3)} secondes")
print(len(S))
for i,L in enumerate(S):
print(i+1,": ",*L)

Pourriez vous m'expliquer que fait chaque ligne du programme dumoin les plus importante via un # derrière la ligne en question que je puisse comprendre le fonctionnement de ce code merci d'avance

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
comment en es-tu arrivé à utiliser un code que tu ne comprends pas?
dans quel contexte fais-tu cela?
0
Pierre
 
Enfait j'ai se code d'un ami tout simplement et j'essaye d'apprendre et il me faudrai comprendre ce code voila tout c'est pour cela que je demande de me dire si possible a quoi correspond chaque ligne ou du moinnles grandes lignes merci si tu peut m'aider
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Pierre
 
je ne pense pas que c'est ainsi que tu vas apprendre.
essaie d'abord de comprendre du code plus simple.
0
Pierre > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Est t'il possible de le traduire quand meme s'il vous plais j'aurais vraiment besoin de comprendre celui ci
0