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

  1. #1
    Candidat au Club
    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
    Points : 3
    Points
    3
    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 éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 920
    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 : 3 920
    Points : 7 312
    Points
    7 312
    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
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 362
    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 362
    Points : 36 894
    Points
    36 894
    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

  4. #4
    Candidat au Club
    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
    Points : 3
    Points
    3
    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

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

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 609
    Points : 2 073
    Points
    2 073
    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".

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 920
    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 : 3 920
    Points : 7 312
    Points
    7 312
    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)

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