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 :

Besoin d'aide fonction avec variable optionnelle


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Besoin d'aide fonction avec variable optionnelle
    Bonjour !

    Je débute avec python, et je ne suis pas très doué...

    Je dois écrire un fonction Bonjour telle que
    Bonjour () écrive "Bonjour inconnu" à l'écran
    Bonjour("voisin") écrive "Bonjour voisin" à l'écran

    Je ne vois pas comment faire, j'ai testé quelques trucs mais je sais très bien que c'est faux, je ne comprends pas trop.. :

    def Bonjour() :
    return "Bonjour inconnu"
    print Bonjour

    Comment je peux ajouter une variable qui serait optionnelle ?
    La question est surement bête, mais je n'ai aucune idée

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 699
    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 699
    Points : 30 999
    Points
    30 999
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Tropiconcombre Voir le message
    Je débute avec python, et je ne suis pas très doué...
    As-tu ouvert le moindre tuto ? Parce que la réponse se trouve dans la majorité d'entre eux au chapitre qui traite des fonctions, de leurs arguments et des valeurs par défaut de ces arguments.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def bonjour(mot="inconnu"):
    	print("Bonjour %s" % mot)
    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]

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bien évidement, j'ai cherché sur internet avant de poster sur ce forum...

    Mon professeur m'avait très rapidement expliqué, et les tutos montraient des choses qui me semblaient inconnues par rapports aux rapides explications que j'ai reçu, alors je me suis dit qu'il y avait peut être une erreur dans ma recherche, un autre moyen de procéder.. Est-ce si grave ?

    En tout cas je vous remercie pour votre aide !

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 699
    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 699
    Points : 30 999
    Points
    30 999
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tropiconcombre Voir le message
    Bien évidement, j'ai cherché sur internet avant de poster sur ce forum...
    Pas très bien visiblement => https://lmgtfy.com/?q=python+fonctio...le+optionnelle la solution est donnée dès le premier lien (tu remarqueras que j'ai mis très exactement les mots de ton titre plus le mot "python" pour réduire la gamme des langages ciblés).

    Citation Envoyé par Tropiconcombre Voir le message
    Est-ce si grave ?
    Ca dénote une certaine fainéantise. Alors grave/pas grave ça dépendra surtout de ta chance (quand tu demanderas aux autres de faire ce que tu as la flemme de faire toi-même). Or souvent, la chance ça va, ça vient. Mais il peut arriver que certaines personnes en bénéficient plus que d'autres (comme disait Napoléon "je sais que c'est un bon général, mais a-t-il de la chance ?").
    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]

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Tropiconcombre Voir le message
    Mon professeur m'avait très rapidement expliqué, et les tutos montraient des choses qui me semblaient inconnues par rapports aux rapides explications que j'ai reçu, alors je me suis dit qu'il y avait peut être une erreur dans ma recherche, un autre moyen de procéder.. Est-ce si grave ?
    Ce qui est grave, c'est que vous n'ayez pas élu un bon tuto. auquel vous référer en cas de soucis. Vous ne comprendrez pas tout du premier coup et vous apprendrez en relisant et en comprenant petit à petit les notions présentées dans les différents chapitres. C'est lent mais c'est comme çà qu'on apprend.
    Chercher dans N tutos ou sur Internet la solution à un problème qu'on ne sait pas trop poser ne sert à rien!

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

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Une source sûre est le tutoriel officiel, en anglais ou en français: https://docs.python.org/fr/3/tutoria...rgument-values

    Avec mes meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  7. #7
    Invité
    Invité(e)
    Par défaut
    Merci pour vos réponses, et aussi pour le lien d'aide.

    Si je me suis inscrit c'est pour pouvoir discuter, et poser des questions. Peut-être que c'était extrêmement trivial, mais, que ce soit clair, je n'ai jamais demandé à ce qu'on fasse le travail à ma place, juste de l'aide dans la méthode.
    Donc ne venez pas de dire que je demande aux autres de faire mon travail merci, car ce n'est pas le cas et c'est assez blessant.
    Plus, si j'étais réellement fainéant pensez bien que je ne serais jamais venu sur ce forum poser la question, et bien comprendre de quoi il s'agit.

  8. #8
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par Tropiconcombre Voir le message
    je n'ai jamais demandé à ce qu'on fasse le travail à ma place, juste de l'aide dans la méthode.
    et puis écrire 3 lignes de code ça ne va pas bouleverser la face du monde, on pourrait argumenter qu'il s'agit d'un exercice qui t'a été donné à toi et que c'est donc à toi de le faire, c'est vrai, mais perso je ne suis pas prof, je n'enseigne rien et n'ai pas à cœur que mes élèves fassent leur devoirs ou de leur inculquer des valeurs morales liées à l'effort/au travail, après tout je ne suis qu'utilisateur d'un forum, vu d'ici ma seule prérogative c'est de participer de manière constructive ou de m'abstenir si le sujet ne me revient pas...

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Tropiconcombre Voir le message
    Bien que je ne serais jamais venu sur ce forum poser la question, et bien comprendre de quoi il s'agit.
    On vous rappelle juste qu'il faut ouvrir un tuto avant de poster!
    Dans tous les tutos vous avez une table des matières. Si vous n'y trouvez pas un chapitre sur les fonctions qui traite des arguments par défaut, changez de tuto!
    Dans le Python tutorial, vous avez dans la table des matières:
    4.6. Définir des fonctions
    4.7. D’avantage sur la définition des fonctions
    4.7.1. Valeur par défaut des arguments
    Dans le Swinnen:
    9. Fonctions originales
    ....
    9-G. Valeurs par défaut pour les paramètres
    9-H. Arguments avec étiquettes
    C'est pas compliqué non? A vous de choisir un bon tuto. et d'en faire votre livre de chevet durant votre apprentissage de Python.

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

  10. #10
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 699
    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 699
    Points : 30 999
    Points
    30 999
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tropiconcombre Voir le message
    Donc ne venez pas de dire que je demande aux autres de faire mon travail merci, car ce n'est pas le cas et c'est assez blessant.
    Ben c'est quand-même un peu le cas quoi. Parce que cette question, la seule façon d'y répondre était soit "ouvre un tuto" soit donner la solution (enfin une solution possible) et écrire ton code à ta place.

    Citation Envoyé par Tropiconcombre Voir le message
    Plus, si j'étais réellement fainéant pensez bien que je ne serais jamais venu sur ce forum poser la question,
    Euh ben si justement. C'est la définition même de la fainéantise que de venir sur un forum poser une question triviale qui a déjà sa réponse dans tous les cours d'initiation à Python.

    Citation Envoyé par Tropiconcombre Voir le message
    et bien comprendre de quoi il s'agit.
    Ah çà tu ne l'a jamais dit. Ok, on va te laisser le bénéfice du doute et démontrer que tu as réellement cherché à comprendre le fonctionnement des arguments par défaut
    Voici un petit code
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def toto(n, t=[]):
    	t.append(n)
    	print t
     
     
    toto(1)
    toto(2)
    toto(3)
    Comme tu le vois, à chaque appel de toto(), le tableau est pris par défaut à vide. Donc à chaque appel il devrait se remplir du nombre demandé et ne contenir que ce nombre (puisqu'il part à vide à chaque appel).
    Or au résultat, on se rend compte qu'en fait il garde la trace des appels précédents et que chaque appel rajoute le nombre demandé sur un tableau déjà rempli de l'appel précédent. Peux-tu expliquer ?

    Attention, cette question est beaucoup moins facile que la précédente (c'est normal, puisque tu demandes une seconde chance, que celle-ci soit plus difficile que celle où tu as échoué, c'est très "Arthurien" quoi) et il n'est pas certain que sa réponse soit dans tous les tutoriels. Les bons tutos l'auront certainement, les autres probablement pas. Donc à toi de chercher...
    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. Aide awk avec variable
    Par TinyJimbo dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 16/09/2010, 20h45
  2. [XL-2007] Bonsoir besoin d'aide fonction =si
    Par scoubi77 dans le forum Excel
    Réponses: 2
    Dernier message: 24/06/2010, 07h53
  3. Fonction avec paramètre optionnel
    Par Damien2007 dans le forum ASP
    Réponses: 1
    Dernier message: 27/06/2007, 15h49
  4. créer une fonction avec parametre optionnel
    Par maximenet dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2006, 20h51
  5. besoin d'aide fonction avec fichier (debutant)
    Par boby61 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2005, 11h22

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