for v in voisins: # On lit la couleur du voisin couleur_voisin = self.a.get(v) if(couleur_voisin!=None): # Si un voisin utilise déjà la couleur if(c == couleur_voisin): ok = False # On teste la couleur suivante break # else: # # Si le voisin n'a pas encore de couleur on sort du while # # pour attribuer la couleur à la variable en cours # break # Si aucun voisin n'utilise la couleur, on assigne la couleur if(ok==True): self.a[variable] = c return True return False if __name__ == "__main__": g = CSP("instances_moodle/flat20_3_0.col",3) g.trierParMaxContraintes() # print g.contraintes b = Backtrack(g)
elif (res=='1'): print "Indiquez le chemin du fichier labyrinthe a charger: ", path = raw_input() print "Indiquez le nombre de couleurs à utiliser: ", nb_couleurs = input() csp = CSP(path,nb_couleurs) if(csp.erreur_chargement==False): print OKGREEN+"=> CSP chargé!"+ENDC else: csp=None elif (res=='2'): if(csp!=None): csp.trierParMaxContraintes() print OKGREEN+"=> CSP trié!"+ENDC else: print FAIL+"Aucun CSP n'a été chargé! Veuillez charger un CSP."+ENDC elif (res=='3'): afficher_trace = not afficher_trace if(afficher_trace==True): print OKGREEN+"=> La trace d'exécution sera affichée!"+ENDC else: print OKGREEN+"=> La trace d'exécution sera masquée!"+ENDC elif (res=='4'): if(csp!=None): print OKGREEN+"=> BackTrack sur le CSP",path,":" backtrack = Backtrack(csp,afficher_trace)