Partage
  • Partager sur Facebook
  • Partager sur Twitter

Débutant Python - créer une fonction

créer une fonction ac 2 paramètres

Sujet résolu
    14 avril 2021 à 18:52:16

    Bonjour, 

    Dans le cours Débuter son projet avec Python, il est demandé de créer une fonction avec 2 paramètres.

    Voici les consignes :

    Créez une fonction create_message qui prend deux paramètres : character et quote. A l'intérieur, utilisez la méthode .format() pour créer une chaîne de caractère sur ce modèle : "{character} a dit : {quote}".

    Enfin, exécutez la fonction avec le personnage et la citation de votre choix.

    Voici ce que j 'ai réalisé :

    def create_message (character,quote):
    "{character} a dit : {quote}".format(character = "Babar", quote = "Ouh la vie est rose!")
    print(create_message)
    Et voici le résultat :
    <function create_message at 0x7fcad9b1e200>
    J'ai déjà modifié différents paramètres au niveau de ma comman print mais cela ne me permet pas d'exécuter ma fonction. Avez-vous une idée de ce qui cloque s'il vous plaît ? 
    Merci
    Dalila
    • Partager sur Facebook
    • Partager sur Twitter

    Dalila DERDAR

      14 avril 2021 à 18:58:06

      Dali_D a écrit:

      J'ai déjà modifié différents paramètres au niveau de ma comman print mais cela ne me permet pas d'exécuter ma fonction. Avez-vous une idée de ce qui cloque s'il vous plaît ?

      La fonction print n'exécute rien, elle affiche juste ce qu'on lui donne en paramètre.

      Pour exécuter une fonction il faut lui mettre ses arguments entre parenthèses juste après son nom (ou des parenthèses vides si elle ne prend aucun paramètre).

      Il y a un autre problème c'est que la fonction create_message ne renvoie rien (il manque le return).

      Sinon dans votre code la fonction n'utilise pas ses paramètres, quels que soient ceux qu'on passe, elle donnera toujours le même résultat.

      -
      Edité par LoupSolitaire 14 avril 2021 à 19:03:40

      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        14 avril 2021 à 19:24:11

        Ok, merci LoupSolitaire. 

        J'ai essayé de prendre en considération tes remarques, en tout cas dans ce que j'ai compris. 

        Voici ce que j'ai écrit :

        def create_message (my_list):
        item = my_list [0]
        "{character} a dit : {quote}".format(character = "Babar", quote = "Ouh la vie est rose!")
        return item

        print(create_message(my_list))

        Malheureusement, je n'ai aucun résultat dans l'exécution. 

        • Partager sur Facebook
        • Partager sur Twitter

        Dalila DERDAR

        Anonyme
          14 avril 2021 à 19:53:44

          Slt,

          Mais ou tu as été chercher my_list ?? il faut que tu comprennes le passage des arguments:

          def create_message (character):
              return f"{character} a dit :"
          
          print(create_message("Diablo76"))


          ou

          def create_message (character):
              return "{0} a dit :".format(character)
          
          print(create_message("Diablo76"))



          -
          Edité par Anonyme 14 avril 2021 à 20:04:30

          • Partager sur Facebook
          • Partager sur Twitter
            15 avril 2021 à 7:15:14

            pass arguments to the function while calling. and return the correct formatted string from the function. See the below sample code. Read this to improve function understanding.

            def create_message(character, quote):
                return '{0} said: {1}'.format(character, quote)
            
            # pass character and quote as a parameter to function
            print(create_message("Babar", "Ouh la vie est rose!"))
            • Partager sur Facebook
            • Partager sur Twitter
              15 avril 2021 à 8:26:00

              create_message=lambda message, kote: "{0} a dit : {1}".format(message, kote)
              print(create_message('PierrotLeFou', 'vas jouer dans le trafic'))
              • Partager sur Facebook
              • Partager sur Twitter

              Le Tout est souvent plus grand que la somme de ses parties.

                15 avril 2021 à 15:49:17

                Hello Diablo76, 

                merci pour cette réponse. En manque d'inspiration et de compréhension, j'ai fait un mixte de ce que j'avais fait sur d'autres exemples et qui ont fonctionné. Mais évidemment, sans liste, my_list ne veut rien dire..... j'ai testé :D 

                Sinon, ok pour ta proposition de réponse, ça fonctionne. j'ai du coup adapté pour faire une fonction avec 2 paramètres, c'est bon.

                merci @diablo76 & @Loupsolitaire

                • Partager sur Facebook
                • Partager sur Twitter

                Dalila DERDAR

                Débutant Python - créer une fonction

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown