Bien le bonjour,
C'est la première que je poste sur un forum donc excuser moi si jamais des choses essentiel dans mon message.
voila pour un projet je dois calculer toutes les distances entre plusieurs sans faire de doublon et voici mon code:
Petite précision: nombreProduits est le nombre de points (dont les coordonnées sont saisie plus haut dans mon programme) et il y a un point en plus qui est Origine (0,0)
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 def calculDistances(nombreProduits): i=0 k=0 n=0 j=0 m=0 while k < nombreProduits: while m < nombreProduits: x1=coordonneesPointX[k] y1=coordonneesPointY[k] x2=coordonneesPointX[m+1] y2=coordonneesPointY[m+1] print('x1: {}, y1: {}, x2: {}, y2: {}'.format(x1, y1, x2, y2)) print('k:{}, m:{}'.format(k, m+1)) m+=1 distancesEntrePoints.insert(n, math.sqrt(math.pow((x2-x1),2)+math.pow((y2-y1),2))) n+=1 k+=1 m=k
Seulement, voila mon problème: quand je saisie des points dans l' "ordre", j'obtient un résultant satisfaisant comme suit:
mais quand mais points sont saisies dans le "désordre", j'obtient des résultats erroné:
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 Nombre de produits: 3 X: 3 Y: 4 X: 6 Y: 8 X: 9 Y: 12 k:0, m:1 k:0, m:2 k:0, m:3 k:1, m:2 k:1, m:3 k:2, m:3 Connexion(s): 6 Liste points: ['Origine', 'A', 'B', 'C'] CoordonnéesX; [0, 3, 6, 9] CoordonnéesY: [0, 4, 8, 12] [5.0, 10.0, 15.0, 5.0, 10.0, 5.0] #Distances [OA, OB, OC, AB, AC, BC]
Pourriez-vous m'aider à régler ce problème? Merci d'avance
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 Nombre de produits: 3 X: 9 Y: 12 X: 6 Y: 8 X: 3 Y: 4 k:0, m:1 k:0, m:2 k:0, m:3 k:1, m:2 k:1, m:3 k:2, m:3 Connexion(s): 6 Liste points: ['Origine', 'A', 'B', 'C'] CoordonnéesX; [0, 9, 6, 3] CoordonnéesY: [0, 12, 8, 4] [15.0, 15.0, 5.0, 5.0, 10.0, 5.0]
Partager