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 pour un exercice python


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 8
    Par défaut Besoin d'aide pour un exercice python
    Je débute en python et suis bloqué sur un exercice qui demande :
    Le clavier de Gaston dysfonctionne. À chaque fois qu’il tape sur la touche “M”, c’est le caractère “%” qui s’affiche.

    Écrire une fonction transcription_clavier(texte) qui reçoit en paramètre une chaîne caractère produite par le clavier de Gaston, et qui renvoie la chaîne correctement modifiée, à savoir dans laquelle les caractères “%” ont été remplacés par “M”.

    On supposera que l’argument passé à la fonction sera une chaîne de caractères, ne comportant que des lettres de l’alphabet, des espaces et des éventuels caractères “%”.
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def transcription_clavier(texte):
    	texte2 = ""
    	for i in range(len(texte)):
    		if texte[i] == '%':
    			if texte2 == 'M':
    				texte += texte2
    		else:
    			texte2 += texte
    	return texte
    Mais qui ne marche pas

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 516
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 516
    Par défaut
    pourquoi tester si texte2="M" ?
    si texte[i]=="%" alors tu rajoutes un "M" sans se poser plus de question

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    Mais qui ne marche pas
    Apprendre à relire le code que vous avez écrit et comprendre pourquoi il ne marche pas fait partie de l'exercice d'apprentissage (à la programmation).
    Par exemple, en relisant votre code, vous devriez tiquer de voir une fonction qui reçoit texte en argument pour fabriquer un texte2 et,
    in fine, retourner le texte qu'elle a reçu.
    Programmer demande de la rigueur, et le but de ces exercices est de vous permettre de l'acquérir... Après si programmer ne vous intéresse pas, je comprends mais assumez plutôt que demandez qu'on fasse les exos à votre place.

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

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 816
    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 816
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Zenitsu224 Voir le message
    Mais qui ne marche pas
    Programmer ça se commence par réfléchir. Donc si tu as réfléchi, dis-nous par quel cheminement dans tes réflexions tu as été amené à tester texte2 == "M" ???

    Tu peux remplacer for i in range(len(texte)): traiter texte[i] par for t in texte: traiter t. Au final c'est la même chose mais c'est plus simple à écrire.
    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
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    De façon très basique, tu peux commencer avec ce script : lignes ############## à compléter ou modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    texte_ini = "jhgsjh%jhgv%hgszf%"
    def transcription_clavier(texte):
        texte2 = ""
        ###################
        for i in range(len(texte)):
            print(texte[i])
            if texte[i] == '%':
                print("trouvé")
                ######################
            else:
                ######################
                print(texte2)
            texte2+="" #################
        return #################
    print(transcription_clavier(texte_ini))

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 8
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Apprendre à relire le code que vous avez écrit et comprendre pourquoi il ne marche pas fait partie de l'exercice d'apprentissage (à la programmation).
    Par exemple, en relisant votre code, vous devriez tiquer de voir une fonction qui reçoit texte en argument pour fabriquer un texte2 et,
    in fine, retourner le texte qu'elle a reçu.
    Programmer demande de la rigueur, et le but de ces exercices est de vous permettre de l'acquérir... Après si programmer ne vous intéresse pas, je comprends mais assumez plutôt que demandez qu'on fasse les exos à votre place.

    - W
    Merci de votre conseil, mais je ne cherche pas à ce que vous resoluez l'exo a ma place mais m'aide a comprendre comment résoudre, suis juste bloqué et ce n'est pas mon premier exo en python ni mon dernier exo

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 816
    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 816
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    mais je ne cherche pas à ce que vous resoluez l'exo a ma place mais m'aide a comprendre comment résoudre, suis juste bloqué
    C'est le but de nos questions: te faire prendre conscience de tes erreurs. Pourquoi tu cherches texte2 == 'M' alors que le but de l'exo est d'évaluer le texte d'entrée, pas le texte de sortie !!!

    Citation Envoyé par Zenitsu224 Voir le message
    et ce n'est pas mon premier exo en python ni mon dernier exo
    Raison de plus, tu devrais être habitué alors.
    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]

  8. #8
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    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 603
    Par défaut
    Autre solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def transcription_clavier(texte):
        return texte.replace('%','M')

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    mais m'aide a comprendre comment résoudre, suis juste bloqué et ce n'est pas mon premier exo en python ni mon dernier exo
    On ne peut pas apprendre à relire le code que vous avez écrit à votre place.

    C'est comme pour le français, si vous écrivez une phrase avec l'intention de communiquer quelque chose, à vous de vous assurer que ceux qui liront cette phrase comprendront ce que vous avez voulu dire.

    Avec Python, c'est un peu pareil et même plus simple car la machine va exécuter ce qui est demandé sans aucune émotion que ce soit tôt le matin ou tard le soir. C'est plus facile de se mettre a sa place pour comprendre ce que feront les instructions lorsqu'elles seront exécutées. A vous de trouver comment progresser: une feuille de papier et un crayon pour exécuter "à la main" chaque instruction et visualiser l'état de certaines variables est un bon début. Lorsque vous serez un peu plus à l'aise, vos pourrez ajouter des "print" dans votre code pour vérifier que certaines variables ont bien le contenu attendu.

    Pour le reste, les tutos donnent des exercices corrigés, autant commencer par là...

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

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 8
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    On ne peut pas apprendre à relire le code que vous avez écrit à votre place.

    C'est comme pour le français, si vous écrivez une phrase avec l'intention de communiquer quelque chose, à vous de vous assurer que ceux qui liront cette phrase comprendront ce que vous avez voulu dire.

    Avec Python, c'est un peu pareil et même plus simple car la machine va exécuter ce qui est demandé sans aucune émotion que ce soit tôt le matin ou tard le soir. C'est plus facile de se mettre a sa place pour comprendre ce que feront les instructions lorsqu'elles seront exécutées. A vous de trouver comment progresser: une feuille de papier et un crayon pour exécuter "à la main" chaque instruction et visualiser l'état de certaines variables est un bon début. Lorsque vous serez un peu plus à l'aise, vos pourrez ajouter des "print" dans votre code pour vérifier que certaines variables ont bien le contenu attendu.

    Pour le reste, les tutos donnent des exercices corrigés, autant commencer par là...

    - W
    Une fois encore merci pour votre conseil, je répète je viens de commencer et je suis même pas inscrit a un cours j'ai juste suivi quelques tuto et je cherche des exo sur le net pour m'exercer, et je comprends pas du tout les notions de tuples, donc je viens de comprendre que mon chemin est encore long

  11. #11
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    j'ai juste suivi quelques tuto et je cherche des exo sur le net pour m'exercer, et je comprends pas du tout les notions de tuples, donc je viens de comprendre que mon chemin est encore long
    Prenez le temps de choisir un cours/tutos qui vous plaise car il va falloir y passer du temps à comprendre ce que racontent les différents chapitres et à faire les exercices proposés pour assimiler les concepts présentés. Et inutile d'imaginer sortir du tuto/cours avant plusieurs semaines... faire les exercices prend du temps.

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

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 816
    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 816
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    Citation Envoyé par Zenitsu224 Voir le message
    et ce n'est pas mon premier exo en python
    je viens de commencer et je suis même pas inscrit a un cours j'ai juste suivi quelques tuto
    Les deux discours ne sont pas les mêmes...

    Citation Envoyé par Zenitsu224 Voir le message
    je cherche des exo sur le net pour m'exercer
    Et tu as vu le gros bouton "Exercices python" en haut de la page ???

    Citation Envoyé par Zenitsu224 Voir le message
    et je comprends pas du tout les notions de tuples
    Ca tombe bien, ils ne sont pas nécessaires pour cet exercice et personne n'en a parlé ici. Mais si tu veux les apprendre...
    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]

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 516
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 516
    Par défaut
    Et tu ne réponds toujours à nos remarques sur ton exercice, si tu les as comprises et ce que tu as modifié en conséquence.
    En l'occurrence, ton erreur n'est pas lié à python mais à la méthode, la logique pour résoudre le problème (l'algo)

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 8
    Par défaut
    Merci a tous, grâce a vous j'ai compris mon erreur, j'ai minimiser l'exo, et jamais pas pris le temps de bien lire et relire pour comprendre, la prochaine fois je m'appliquerai d'avantage, sinon exo déjà résolu grâce a vous, puisque j'ai suivi le schéma d'une réponse ici et ça marché, vous me verriez ici de temps en temps avec ce genre d'exercice merci

  15. #15
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 816
    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 816
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    j'ai suivi le schéma d'une réponse ici et ça marché
    Montre-nous et si on peut l'améliorer on t'indiquera comment...
    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]

  16. #16
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 933
    Par défaut
    Citation Envoyé par Zenitsu224 Voir le message
    j'ai suivi le schéma d'une réponse ici et ça marché
    Je suppose que tu as pris la réponse d'Arioch.
    replace() règle effectivement le problème mais elle masque la mécanique nécessaire pour y arriver.

    Si tu tiens a t'exercer, n'appelle pas cette routine mais continue sur l'idée de la boucle

Discussions similaires

  1. Besoin d'aide pour un exercice de cours (débutant)
    Par GetZo34 dans le forum Général Python
    Réponses: 8
    Dernier message: 28/09/2017, 00h31
  2. Besoin d'aide pour un exercice en assembleur
    Par rayed dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 13/04/2013, 20h03
  3. besoin d'aide pour un exercice (requêtes sql)
    Par stabii dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/01/2011, 00h00
  4. [Débutant] Besoin d'aide pour un exercice
    Par bebetoalvaro dans le forum Pascal
    Réponses: 9
    Dernier message: 05/02/2007, 01h59
  5. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 14h23

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