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 :

recuperation argument fonction signature [Python 3.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut recuperation argument fonction signature
    Bonjour a tous,
    Je bute sur un exercice qui peut paraitre simple a première vue, mais qui me pose un problème.
    voici l' énoncé,

    Écrire une fonction signature qui reçoit un paramètre identité . Ce paramètre est un couple (tuple de deux composantes) dont la première composante représente un nom et la seconde un prénom.
    Cette fonction doit retourner la chaîne de caractères formée du prénom suivi du nom, séparés par une espace.

    Exemple
    L’appel suivant de la fonction :
    signature(('de Saint-Exupéry', 'Antoine'))

    doit retourner :

    'Antoine de Saint-Exupéry'
    Note : Il s'agit de la valeur retournée par la fonction. Cette valeur est de type chaîne de caractères, c'est pourquoi elle est notée entourée de quottes, mais ces quottes ne font pas partie de la chaîne elle-même.

    Consignes
    Dans cet exercice, il vous est demandé d’écrire seulement la fonction signature. Le code que vous soumettez à UpyLaB doit donc comporter uniquement la définition de cette fonction, et ne fait en particulier aucun appel à input ou à print.

    Vous pouvez supposer que l’argument passé à la fonction est valide (couple de deux chaînes de caractères).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    def signature(identite):
        return "Antoine" + " " + "de Saint-Exupéry" 
    print(signature(('de Saint-Exupéry', 'Antoine')))
    Le print n' ai pas censé être dans le code pour le test sur la plateforme.
    Il me permet de tester pour pouvoir avoir un affichage, mais c' est la plateforme de test qui écrira le print dans mon code final.
    Si on exécute ce code cela fonctionne mais je dois pouvoir afficher les autres nom qu' ils me sont demandés.

    Voila je m' en remets a vous, si vous pouviez m' aiguiller, car je tourne autour du pot.


    Merci par avance de vos réponses.
    Cordialement,
    Diakshunters

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Bonjour. Quel est le soucis du coup ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def signature(identité: tuple[str, ...]) -> str:
        return f'{signature[1]} {signature[0]}'

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

    le tuple contient 2 éléments que tu peux récupérer via identite[0] et identite[1] ou en passant par des variables intermédiaires nom, prenom = identite

  4. #4
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Si je laisse le code écrit comme ca voila ce que me répond la plateforme de test.

    Nom : image_2022-05-13_102414436.png
Affichages : 156
Taille : 51,5 Ko

    J' ai essayé sans le print aussi.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    C'est normal : regarde ce que tu retournes.

    Quelle que soit l'identité fournie à la fonction signature, tu retournes toujours "Antoine de Saint-Exupéry".

  6. #6
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Slt et merci pour ta réponse,
    Effectivement j' y avais pensé mais a défaut pour le moment j' avais laissé comme ca.
    Comment faire pour retourner, j' ai essayé ce code mais ca me retourne exactement ce que j' ai écrit après tout ca revient au mm que le code précèdent.
    Je ne comprend pas comment atteindre le tuple et a quel moment cela doit être passé dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    def signature(identite):
        return "identite[1]" + " " + "identite[0]" 
    print(signature(('de Saint-Exupéry', 'Antoine'))

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Citation Envoyé par diakshunters Voir le message
    Slt et merci pour ta réponse,
    Effectivement j' y avais pensé mais a défaut pour le moment j' avais laissé comme ca.


    Avez-vous déjà ouvert un tuto sur Python ? Les bases de Python ?

    L'interpolation de variables vous parle ou pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ma_variable = 'toto'
    print("ma_variable")
    Va vous afficher : ma_variable

    Alors que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ma_variable = 'toto'
    print(ma_variable)
    Va vous afficher : toto

    Rassurez-nous : vous le saviez n'est-ce pas ?

  8. #8
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Oui je le sais, mais a priori je ne dois pas utiliser de variable pour cet exercice a moins que je n' ai mal interprèté le message plus bas de l' équipe FUN MOOC.
    Pour info aussi je n' ai pas tout le temps devant moi pour travailler python. Je débute encore.
    Donc soyez indulgent merci

    Oui j' ai vu le cour des variables

    Bonjour,

    Non, tu n'es pas sur la bonne voie.
    Le souci est que tu demandes à ta fonction de travailler avec une variable définie dans le programme principal, alors qu'elle devrait travailler avec la valeur qui lui est passée en argument.
    Et ce n'est pas lors de l'appel qu'il faut former la chaîne attendue, mais bien dans la fonction, c'est la valeur qu'elle doit renvoyer.

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Citation Envoyé par diakshunters Voir le message
    Le souci est que tu demandes à ta fonction de travailler avec une variable définie dans le programme principal, alors qu'elle devrait travailler avec la valeur qui lui est passée en argument.
    Et ce n'est pas lors de l'appel qu'il faut former la chaîne attendue, mais bien dans la fonction, c'est la valeur qu'elle doit renvoyer.
    Ici, on demande à ce que ce soit la fonction qui travaille la valeur de manière à retourner ce qui est attendu.

    Donc il faut retourner le contenu dans un certain ordre de l'identité qui est fourni en argument à la fonction.

    Regardez plus haut ce que j'ai publié comme code.

  10. #10
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    J' ai fini par trouver,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def signature(identite) :
        return identite[1]+ " " + identite[0]
     
    signature(("Massart", "Thierry"))
    Merci a tous pour vos réponses qui m' ont bien aidé.

    A un des ces jours

  11. #11
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Bonjour,
    En python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def signature(identite):
        return " ".join(identite)
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  12. #12
    Membre à l'essai
    Homme Profil pro
    militaire
    Inscrit en
    Décembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : militaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Pour l' instant join n' a pas été abordé par le FUN MOOC


    Merci de quand mm

  13. #13
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Bonjour,
    En python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def signature(identite):
        return " ".join(identite)
    Dans ce qui est demandé, ce serait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def signature(identite):
        identite = list(reversed(identite))
        return " ".join(identite)

  14. #14
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Arioch
    Dans ce qui est demandé, ce serait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def signature(identite):
        identite = list(reversed(identite))
        return " ".join(identite)
    ah oui
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

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

Discussions similaires

  1. recuperer une fonction avec arguments dans une dll
    Par freuh94 dans le forum Windows
    Réponses: 3
    Dernier message: 03/10/2009, 11h45
  2. Réponses: 0
    Dernier message: 19/04/2009, 11h56
  3. Recuperation argument processus
    Par ZeroZero dans le forum VB.NET
    Réponses: 4
    Dernier message: 16/05/2007, 16h59
  4. Recuperer retour fonction PL/SQL
    Par pegase06 dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 14/02/2007, 09h25
  5. recuperer argument depuis url
    Par jejam dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 11h41

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