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 :

fonction print dans une fonction


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut fonction print dans une fonction
    Bonjour à tous. j'ai un problème tout bête.

    Je créé une fonction qui retourne un résultat avec la commande return. Quand je veux printer le résultat à l'écran, je suis obligé de retirer le return, et je tape la fonction print à la place du return.
    Pourquoi le print ne fonctionne pas lorsqu'il est placé après la commande return ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    def moyenne(lst):
        nbr = 0
        for i in lst:
            nbr = nbr + i
        moy = nbr/len(lst)
        return moy
        print (moy)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Parce que "return" est une instruction qui termine la fonction. Les instructions suivantes (du block) ne sont pas exécutées... c'est construit pour/comme ça, il faut faire avec...
    Par contre vous pouvez afficher le résultat de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def moyenne(lst):
        ...
        return moy
    print (moyenne(lst))
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    moy = moyenne(lst)
    print(moy)
    Du coup "retourner" un résultat ou afficher quelque chose sont des concepts bien distincts... une information est transmise dans les 2 cas, mais la destination est différente.

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

  3. #3
    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
    Hello,

    Il y a un tutoriel (en français même) sur le site officiel du langage, il faudrait en profiter

    Pour return, c'est bien expliqué sur le chapitre 4.8, prenez le temps de le lire...

  4. #4
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 782
    Par défaut
    Hello,

    D'une manière générale, une fonction qui calcule (trie, etc....) n'a pas à faire d'affichage, c'est à l'appelant de décider ce qu'il faut faire avec la donnée renvoyée.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    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 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par sam01 Voir le message
    Quand je veux printer le résultat à l'écran, je suis obligé de retirer le return, et je tape la fonction print à la place du return.
    Hum... et tu n'as pas pensé à mettre la fonction print avant le return ?
    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]

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

Discussions similaires

  1. Problème de fonction PRINT dans une boucle
    Par chamou88 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/03/2017, 07h38
  2. [GNUPLOT] print dans une fonction gnuplot
    Par lg_53 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 04/04/2014, 11h52
  3. [AC-2007] Debug.print dans une zone de texte
    Par Triton972 dans le forum IHM
    Réponses: 4
    Dernier message: 23/12/2011, 15h38
  4. MS-SQL 2005, Debug.print dans une procédure ?
    Par marot_r dans le forum Développement
    Réponses: 4
    Dernier message: 14/08/2009, 18h57
  5. [SQL Server 2005] print dans une procédure stockée
    Par anayathefirst dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 21/03/2008, 15h50

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