Bonjour quelqu'un pourrait m'aider svp en NSI . Merci pour votre aide.
Je voudrais que vous vérifiez la méthode "voisines" de la classe Labyrinthe que je fais puisque je n'arrive pas exécuter, ainsi pouvez vous répondre au questions. Et aussi pouvez vous modifier la fonction "solution" svp. Les questions sont sur les images
voisins_valides = [i for i in voisins if self.est_valide(i[0], i[1])]
return [x for x in voisins_valides if lab[x[0]][x[1]] != 1 and lab[x[0]][x[1]] != 4]
Tu as rajouté les valeurs n et m dans la fonction. Cependant, ils sont inutiles puisqu'ils sont déjà défini dans la fonction est_valide(). De plus, il est impossible de les passer en paramètre de la fonction est_valide().
Le programme fonctionnant est passé en pièce jointe.
Je me doute que tu n'as pas pu comprendre grace à mes piètres explications et je m'excuse de la gène occasionné par le fait que le programme que je t'avais au préalable fourni ne fonctionnait pas correctement.
Aux modos, ne supprimez pas la réponse, je compte la compléter d'ici ce soir-demain.
Lista de comentários
Salut,
Problème du code
Fonction est_valide (ligne 15)
Avant : if 0<i<n and 0<j<m:
Maintenant : if 0<=i<n and 0<=j<m:
L'ajout du = entre le < et le i permet à la fonction d'autoriser les nombres sur la ligne/colonne 0 à être autorisés.
Fonction voisines (lignes 40-45)
Avant :
def voisines(i, j, lab):
n = len(lab)
m = len(lab[0])
voisins = [(i,j-1), (i-1,j), (i+1,j), (i, j+1)]
voisins_valides = [x for x in voisins if est_valide(x[0], x[1], n, m)]
return [x for x in voisins_valides if lab[x[0]][x[1]] != 1 and lab[x[0]][x[1]] != 4]
Maintenant :
def voisines(self, i, j):
voisins = [(i, j-1), (i-1, j), (i+1, j), (i, j+1)]
voisins_valides = [i for i in voisins if self.est_valide(i[0], i[1])]
return [x for x in voisins_valides if lab[x[0]][x[1]] != 1 and lab[x[0]][x[1]] != 4]
Tu as rajouté les valeurs n et m dans la fonction. Cependant, ils sont inutiles puisqu'ils sont déjà défini dans la fonction est_valide(). De plus, il est impossible de les passer en paramètre de la fonction est_valide().
Le programme fonctionnant est passé en pièce jointe.
Je me doute que tu n'as pas pu comprendre grace à mes piètres explications et je m'excuse de la gène occasionné par le fait que le programme que je t'avais au préalable fourni ne fonctionnait pas correctement.
Aux modos, ne supprimez pas la réponse, je compte la compléter d'ici ce soir-demain.
maxiloulou912, je viens de poster une nouvelle question, pourrais tu m'aider? : https://nosdevoirs.fr/devoir/4866361
Réponse :
Bonsoir,
Explications :