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 : Fonction n'a pas retourné True or False


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Autodidacte
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut Erreur : Fonction n'a pas retourné True or False
    Bonjour,
    Pour un code programme que j’exécute parfaitement bien avec des trois valeurs à rentrer, à la fin je reçois comme un message d'erreur : deux_egaux(5,1,1) n'a pas retourné True

    Mon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def deux_egaux(a,b,c):
        if a==b:
            print("True")
        elif b==c:
            print("True")
        elif c==a:
            print("True")
        else:
            print("False")
        return()
    x=int(input())
    y=int(input())
    z=int(input())
    deux_egaux(x,y,z)

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Le code que vous représentez ne comporte rien qui mènerait à l'erreur que vous montrez.

    Pour moi b == c, vous devriez voir afficher True.

    L'erreur est donc ailleurs, mais pas dans le code que vous présentez.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Autodidacte
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    J'ai fait copier coller du code, le code est parfaitement identique a ce que j'ai écris sur pycharme
    Comme j'ai expliqué, il s'exécute parfaitement bien sur pycharme
    Mais dès que je le mets sur le correcteur automatique (je fais la formation en autodidacte et sur internet), il me met que la fonction ne retourne pas True or False



    Merci en tout de vos réponses

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Voici un code :
    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
    def deux_egaux(a,b,c):
        if a==b:
            print("True")
        elif b==c:
            print("True")
        elif c==a:
            print("True")
        else:
            print("False")
     
    deux_egaux(5,1,1)
     
    def fonc_deux_egaux(a,b,c):
        if a==b:
            return True
        elif b==c:
            return True
        elif c==a:
            return True
        else:
            return False
     
    print(fonc_deux_egaux(5,1,1))
    deux_egaux est une procedure qui ne "renvoie" rien, comme votre code.
    fonc_deux_egaux est une fonction qui retourne 3true" ou "False".

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par alae a Voir le message
    Mais dès que je le mets sur le correcteur automatique (je fais la formation en autodidacte et sur internet), il me met que la fonction ne retourne pas True or False
    Oui car le correcteur automatique attend que vous retourniez True ou False (return) et non que vous l'affichiez (print)

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 747
    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 747
    Par défaut
    Salut,
    Citation Envoyé par alae a Voir le message
    Pour un code programme que j’exécute parfaitement bien avec des trois valeurs à rentrer, à la fin je reçois comme un message d'erreur : deux_egaux(5,1,1) n'a pas retourné True
    "print" se contente d'afficher quelque chose sans rien retourner... çà c'est le boulot de "return".
    Et votre boulot à vous est de relire le chapitre qui parle des fonctions dans votre tuto. préféré et de comprendre ce qui ne va pas dans votre code avant de poster.

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

Discussions similaires

  1. [MySQL] Requête retournant TRUE ou FALSE
    Par Che57 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/07/2014, 14h04
  2. Ma fonction ne veut pas retourner un élément
    Par razbitume dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/03/2009, 17h25
  3. Réponses: 6
    Dernier message: 02/08/2008, 17h58
  4. Une fonction virtuelle ne peut pas retourner un template!
    Par coyotte507 dans le forum Langage
    Réponses: 10
    Dernier message: 08/02/2008, 20h39
  5. [SQL] Fonction retournant le booléen false qui se transforme en true!
    Par fayred dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/09/2007, 12h37

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