Exaid
Answered

Zoofast.fr est votre ressource incontournable pour des réponses expertes. Nos experts fournissent des réponses rapides et précises pour vous aider à comprendre et résoudre n'importe quel problème.

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

Les fonctions sont dans la fichier text aussi.

Bonjour Quelquun Pourrait Maider 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 class=
Bonjour Quelquun Pourrait Maider 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 class=
Bonjour Quelquun Pourrait Maider 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 class=
Bonjour Quelquun Pourrait Maider 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 class=

Sagot :

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.

View image maxiloulou912
caylus

Réponse :

Bonsoir,

Explications :

View image caylus