bonjour j'ai crée un script qui extrait des données d'un fichier texte (Za, X, Y, Z)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def readXYZ(chaine, nbre_confo):
  k = 0 
  for i, line in enumerate(lines):
 
    j = 5
    if (chaine in line) and (nbre_confo > k):
      k = k + 1
      Za = []
      X = []
      Y = []
      Z = []
      while j<14 :
	Za.append( (float( (lines[i + j].split())[1]) ))
	X.append( ( float( (lines[i + j].split())[3]) ))
	Y.append( ( float( (lines[i + j].split())[4]) ))
	Z.append( ( float( (lines[i + j].split())[5]) ))
	j = j + 1
      print(X)
 
def energy(nbre_confo):      
  readXYZ(chaine, nbre_confo)
  E = 0
  for i in range(len(Za)):
    for j in range(i+1,len(Za)):
      distance =  (sqrt(pow((X[i] - X[j]),2) + pow((Y[i] - Y[j]),2) + pow((Z[i] - Z[j]),2)))  / 0.5291772085936 
      E = E + ( (Za[i] * Za[j]) / distance )
    print(E)
le probleme c'est que qu'on j'appel la methode energy(nbre_confo) il me sort l'erreur que "Za" n'est pas defini alors que j'ai pris la peine d'appeler l'execution de la methode readXYZ dans la methode energy().

Comment je dois faire pour importer les variables de cette methode ???

Merci pour votre aide