Aide pour traduction

Fermé
jhon_Smith31 Messages postés 2 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 24 avril 2017 - 24 avril 2017 à 18:16
jhon_Smith31 Messages postés 2 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 24 avril 2017 - 24 avril 2017 à 18:24
Bonjour,

Je suis débutant en python et j'ai entre les mains un src python que je dois traduire en language algorithmique et cela fait un bout de temps que je n'y arrive pas surtout pour les deux fonctions dessous : sachant que la fonction "free_line" retourne 1x2 numpy_array

1 :
def LF_BF(P, Q, p, q, eps):
Parameters
----------
param P : px2 numpy_array,
param Q : qx2 numpy_array,
param p : float, number of points in P
param q : float, number of points in Q
param eps : float,
Returns
-------
LF : dict,
BF : dict,
LF = {}
for j in range(q):
for i in range(p - 1):
LF.update({(i, j): free_line(Q[j], eps, P[i:i + 2])})
BF = {}
for j in range(q - 1):
for i in range(p):
BF.update({(i, j): free_line(P[i], eps, Q[j:j + 2])})
return LF, BF
"""


2:


Parameters
----------
LF : dict,
BF : dict
param p : float,
param q : float,
Returns
-------
rep : bool,
LR : dict,
BR : dict,
"""
if not (LF[(0, 0)][0] <= 0 and BF[(0, 0)][0] <= 0 and LF[(p - 2, q - 1)][1] >= 1 and BF[(p - 1, q - 2)][1] >= 1 ):
rep = False
BR={}
LR={}
else:
LR = {(0, 0): True}
BR = {(0, 0): True}
for i in range(1, p - 1):
if LF[(i, 0)] != [-1, -1] and LF[(i - 1, 0)] == [0, 1]:
LR[(i, 0)] = True
else:
LR[(i, 0)] = False
for j in range(1, q - 1):
if BF[(0, j)] != [-1, -1] and BF[(0, j - 1)] == [0, 1]:
BR[(0, j)] = True
else:
BR[(0, j)] = False
for i in range(p - 1):
for j in range(q - 1):
if LR[(i, j)] or BR[(i, j)]:
if LF[(i, j + 1)] != [-1, -1]:
LR[(i, j + 1)] = True
else:
LR[(i, j + 1)] = False
if BF[(i + 1, j)] != [-1, -1]:
BR[(i + 1, j)] = True
else:
BR[(i + 1, j)] = False
else:
LR[(i, j + 1)] = False
BR[(i + 1, j)] = False
rep = BR[(p - 2, q - 2)] or LR[(p - 2, q - 2)]
return rep, LR, BR



Pourriez vous m'aidez la dessus S'il Vous Plait ?!

A voir également:

1 réponse

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 327
24 avril 2017 à 18:18
0
jhon_Smith31 Messages postés 2 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 24 avril 2017
24 avril 2017 à 18:24
Bonjour ,

Tout d'abord je tiens à dire que ce n'est pas un exercice. pour étre plus précis je ne comprends pas la ligne suivante :
if not (LF[(0, 0)][0] <= 0 and BF[(0, 0)][0] <= 0 and LF[(p - 2, q - 1)][1] >= 1 and BF[(p - 1, q - 2)][1] >= 1 ):

je suis habitué à java et je l'ecriture suivante je ne l'est jamais rencontré : LF[(0, 0)][0] ?

Voila j'ai posté deux fonction du projet juste pour connaitre la declaration et ce qu'il en suit. Merci pour votre aide
0