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 renvoie none [Fait]


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut fonction renvoie none
    Bonjour à tous,

    J'ai voulu tester la création de fonction en faisant ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #Si les minutes sont < 10 il faut afficher un zéro devant l'unité
    def affichage(n):
        if n < 10:
            print '0',n,
        else:
            print n
    Mais quand j'appelle cette fonction, elle remplit bien son rôle mais affiche, à chaque fois un "none" après le résultat.

    ex:
    12 h 0 2 None
    20 h 20 None
    La durée de prestation est de : 8 h 18 None
    Départ: 10 h 32 None
    Lever : 9 h 32 None

    Pour l'instant, je n'ai pas encore compris pouquoi ! Et vous ? Vous connaissez ça ?

    En vous remerciant,
    Eric

  2. #2
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    bonjour,

    quand tu utilises ta fonction, je pense que tu fais:
    ta fonction est appellée; elle affiche le resultat, ne possedant pas de valeur de retour (pas de return ..) , elle renvoie None et ton print affichage() affiche None.
    Est-ce bien cela?
    Soit tu modifie ta fonction affichage en remplacant print par return, soit tu modifies l'appel de ta fonction en supprimant le print lors de l'appel.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut
    Merci bcp.

    J'avais essayer en mettant return mais je n'arrivais pas à ce que ma fonction remplisse bien son rôle. En fait, je mélangeais deux problèmes.

    J'ai modifié, comme tu me l'as dit, en mettant return à la place de print et j'ai modifié un peu mon code pour obtenir le résultat correct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #Si les minutes sont < 10 il faut afficher un zéro devant l'unité
    def affichage(n):
        if n < 10:
            return "0"+str(n) #le 1 doit être remplacé par 01. Comme ceci c'est ok !
        else:
            return n
    Encore un grand merci !

  4. #4
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    pas de problème.

    Une fonction plus pythonique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def affichage(nb):
        return str(nb).rjust(2, '0')
    bon python.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut
    Nettement mieux ! Mais je ne suis pas encore aussi loin dans la découverte de Python

    En tout cas, je garde la version plus Pythonique !!

    Python, c'est vraiment génial...

    Merci et a+

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

Discussions similaires

  1. fonction renvoie vecteur ou null
    Par hbenji dans le forum C++
    Réponses: 3
    Dernier message: 04/03/2013, 09h52
  2. Fonction renvoie les caractères avant un caractère
    Par HankMoody dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 17/08/2012, 16h16
  3. Réponses: 2
    Dernier message: 11/04/2011, 16h12
  4. fonction renvoi de type personnalisé
    Par Averroes dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/09/2007, 11h33
  5. [Système] ma fonction renvoie 0
    Par digger dans le forum Langage
    Réponses: 3
    Dernier message: 25/05/2007, 00h13

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