IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Erreur de segmentation


Sujet :

Python

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 72
    Points
    72
    Par défaut Erreur de segmentation
    Bonjour,

    Je ne comprend pas le probleme de mon algorithme, j'ai une "erreur de segmentation" sans message d'erreur supplementaire.
    Voici l'algorithme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def solveurV1(sol):
        for con in contraintes:
    		for sol_temp in con.getSolutions():
    			if compatible(sol,sol_temp):
    				sol2=sol.copy()
    				sol2.update(sol_temp)
    				solveurV1(sol2)
        if len(sol)==len(variables):
    		return sol
    contraintes est une liste de 8 elements, getSolutions renvoie une liste de 4 elements.
    sol et sol_temp sont des dictionnaires avec au maximum 16 elements chacun.

    Avant j'avais une erreur "RuntimeError: maximum recursion depth exceeded", j'ai donc rajouté "sys.setrecursionlimit(50000)" a mon script.

    Avez vous deja rencontré ce comportement ?
    Merci

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Donnes nous au moins un exemple de contenu de chacune des variables que l'on puissent lancer le script et voir ce qui pourrait clocher. Essayesde nous donner un exemple complet qui reproduit le problème.

    Sinon : "RuntimeError: maximum recursion depth exceeded", c'est que ton algo récursif ne sort jamais. C'est à dire qu'a chaque appel de ta fonction, tu abouti à la ligne : solveurV1(sol2) qui fais un nouvel appel a ta fonction et boucle ainsi indéfiniment
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Sinon : "RuntimeError: maximum recursion depth exceeded", c'est que ton algo récursif ne sort jamais. C'est à dire qu'a chaque appel de ta fonction, tu abouti à la ligne : solveurV1(sol2) qui fais un nouvel appel a ta fonction et boucle ainsi indéfiniment
    Oui, j'aurais du penser a ca au lieu d'essayer de regler le probleme avec "sys.setrecursionlimit(50000)", le probleme vient bien du code, la boucle est infinie.

    Merci pour cette remarque.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreurs de segmentation !
    Par anti-conformiste dans le forum Applications et environnements graphiques
    Réponses: 16
    Dernier message: 18/10/2005, 11h11
  2. Erreur de segmentation
    Par Trunks dans le forum C
    Réponses: 3
    Dernier message: 06/10/2005, 18h28
  3. Erreur de segmentation (Inconnue)
    Par Dark-Meteor dans le forum C
    Réponses: 5
    Dernier message: 08/09/2005, 13h42
  4. [Dev-C++] Erreur de segmentation...
    Par sas dans le forum Dev-C++
    Réponses: 11
    Dernier message: 26/03/2005, 14h25
  5. erreur de segmentation
    Par transistor49 dans le forum C++
    Réponses: 10
    Dernier message: 15/03/2005, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo