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 :

Problème pour un exercice


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut Problème pour un exercice
    Bon Soir à tout le monde,
    J'ai un petit problème avec un exercice sur python, il est en principe facile mais j'arrive pas à le faire.
    Voici l'énoncé:

    I. Le module outil : utils.
    Le module utils contient des fonctions utiles pour le reste du programme. Deux fonctions get_if_exists et convert_to_degrees sont utilisées pour l’extraction des données EXIF (voir Section VII). Elles sont fournies (implémentées). La fonction dict_factory est utilisée pour le traitement des résultats des requêtes SQL exécutées pour l’extraction des traces de mobilité à partir de logs Wi-Fi (voir Section IX). Elle est fournie. Pour afficher les objets composites (voir Section 0), on a besoin d’une fonction indent pour décaler (indenter) le texte automatiquement en y ajoutant une chaîne de caractères en début de ligne.

    Instructions :

    1. Implémenter une fonction indent qui prend en paramètre un texte, sous forme de chaîne de caractères, et un espacement (optionnel, qui vaut « \t » par défaut), sous forme de chaîne de caractères, et qui ajoute le caractère d’espacement au début de chaque ligne du texte. Par exemple, print("zero\n" + indent("one\n" + indent("two\nthree", "\t-"))) affiche :

    zero
    (tab) one
    (tab)(tab) -two
    (tab)(tab) -three

    Voilà, je n'arrive pas à écrire la fonction, j'espère que vous pouvez m'aider. Merci beaucoup d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Bonjour,

    On n'est pas là pour faire tes exercices mais pour aider (si on le peut) à résoudre des problèmes.
    Pour cela, il faudrait que tu nous montres ton code réalisé jusque là et nous dire ce qui ne marche pas ou te bloque.

    As-tu essayé de faire une fonction qui réécrit chaque ligne de la chaine de caractère en entrée. Ensuite, tu chercheras comment ajouter une indentation à chacune de ces lignes.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut
    Citation Envoyé par Fifan31 Voir le message
    Bonjour,

    On n'est pas là pour faire tes exercices mais pour aider (si on le peut) à résoudre des problèmes.
    Pour cela, il faudrait que tu nous montres ton code réalisé jusque là et nous dire ce qui ne marche pas ou te bloque.

    As-tu essayé de faire une fonction qui réécrit chaque ligne de la chaine de caractère en entrée. Ensuite, tu chercheras comment ajouter une indentation à chacune de ces lignes.
    Bonjour,
    Voilà ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def indent(texte, emplacement) :
        texte = str(" ")
        indent = texte + emplacement + texte
        return indent
    (je sais pas comment on insère le code, je suis nouveau)

    Ce qui me trouble, est que lorsque je l'écris, le prgramme (py charm) me dit que texte n'est pas défini.
    L'autre chose qui me trouble est l'emplacement, qui dans l'énoncé disent qu'il s'agit de "\t", mais je sais pas si le définir ou pas.
    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Dans ton code, je pense que 'emplacement' devrait s'appeler 'espacement' pour être plus explicite mais là n'est pas le problème.
    Dans l'énoncée, on indique que 'espacement' est optionnel et prend une valeur par défaut: il te faut chercher comment un paramètre de fonction python peut avoir une valeur par défaut.
    Ensuite, la première ligne de ta fonction "écrase" la valeur du paramètre 'texte' par un espace, tu perds donc le contenu du texte à indenter.

    Reviens vers nous lorsque tu auras avancé sur ces points. Bonne recherche.

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/12/2014, 17h24
  2. Problème de tableau pour un exercice en C++
    Par tigresses57 dans le forum C++
    Réponses: 14
    Dernier message: 05/03/2006, 23h27
  3. Réponses: 3
    Dernier message: 29/08/2003, 10h57
  4. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

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