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 :

Fonctions qui ne sont jamais appelées


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 371
    Par défaut Fonctions qui ne sont jamais appelées
    bonjour

    Je crée 4 fichiers py dans un même projet:
    main.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    import config1
    import config2
    import config3
     
     
     
    def fonction_o():
      config3.other
      reponse = input("tapez o au clavier: ")
      if reponse == 'o' :
       config3.other=config3.other+1
       print(config3.other)  
     
     
    config1.fonction_n()
    config2.fonction_p()
     
     
    if(config1.number>5):  #ne fonctionne pas
      fonction_o()
      config3.ecrit()
    config1.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import config2
     
    number=0
     
    def fonction_n() :
     global number
     reponse = input("tapez n au clavier: ")
     if reponse == 'n' :
      number=number+1
      print(number)  
      fonction_n()
     else:
      config2.fonction_p()
    config2.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import config1
     
    number=0
     
    def fonction_p() :
     global number
     reponse = input("tapez p au clavier: ")
     if reponse == 'p' :
      number=number+1
      print(number)  
      fonction_p()
     else:
      config1.fonction_n()
    config3.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    other=0
     
    def ecrit():
      print(other+100)
    A la ligne 21 de main.py,fonction_o() nin config3.ecrit() ne sont jamais appelés.
    Pourquoi?


    merci de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bsr,

    Changez le titre, svp ! Utiliser une phrase courte qui décrit le problème au mieux selon vous.

    Quant à votre code, relisez-le, le problème est évident !

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    hello,
    C'est certainement un souci de PEBKAC :
    Nom : PEBCAK.jpg
Affichages : 108
Taille : 35,6 Ko
    Regarde bien tes fonctions fonction_n , fonction_p ! Comment comptes-tu en sortir ? Phénomène de bouclage enclenché.
    Ami calmant, J.P

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 749
    Par défaut
    Citation Envoyé par tabkelm Voir le message
    A la ligne 21 de main.py,fonction_o() nin config3.ecrit() ne sont jamais appelés.
    Pourquoi?
    Ajoutez un "print" à la ligne 19... il ne devrait pas s'afficher et vous posez des questions sur le code que vous avez écrit. Si vous écrivez un peu n'importe quoi sans trop comprendre, on ne va pas vous expliquer autre chose que suggérer d'ouvrir un tuto.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par tabkelm Voir le message
    bonjour
    A la ligne 21 de main.py,fonction_o() nin config3.ecrit() ne sont jamais appelés.
    Pourquoi?
    Parce que soit ligne 20 n'est jamais atteinte, soit config1.number n'est pas plus grand que 5.
    Accessoirement pas besoin de parenthèses (on n'est pas en C). Quant à l'instruction config3.other de la ligne 10...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Affectations qui ne sont jamais testées dans le code
    Par dedey63 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/01/2017, 09h51
  2. [CLASSE ] fonctions qui s'activent à chaque appel d'objet
    Par lelchim dans le forum Général Python
    Réponses: 3
    Dernier message: 08/02/2016, 07h00
  3. Réponses: 12
    Dernier message: 30/04/2015, 16h07
  4. fonction qui ne demarre jamais
    Par atc666 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/01/2012, 19h40
  5. Spécialisation template qui n'est jamais appelée
    Par coyotte507 dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2008, 12h39

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