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 :

DM sur Python : correction de phrase


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut DM sur Python : correction de phrase
    Bonjour,

    ‘bonjour toto ,, bonjour tata ..’ -> On supprime les virgules et points en trop, on enlève les espaces inutiles, on met en majuscule les lettres en début de phrase ou derrière un point, le résultat de la correction est le suivant ‘Bonjour toto, bonjour tata.’.

    Mon professeur me demande de corriger cette phrase mais mon programme a un problème avec cette commande L='.'.join([i.strip() for i in L.split('.') if i.strip()]) même en demandant de join autre chose il ne se passe rien.


    si vous pouvez me dire quel est mon errer

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Regarde ici, un sympathique contributeur t'offre une ébauche de solution:
    https://www.developpez.net/forums/d2...age-terminale/

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    je suis sincèrement désolé mais je ne vois votre ébauche de solution.

  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 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par TSIN2019 Voir le message
    je suis sincèrement désolé mais je ne vois votre ébauche de solution.
    Regarde les lignes 4, 6, 8 10, 12, 14 et 16 de son code et surtout sa dernière phrase.

    Sinon tu t'attends à quoi en ouvrant 2 topics pour poser la même question ? 2 fois plus de réponses ???
    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
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut dernière partie du dm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    a='.........,,,,,,,,,,,,,,,,,, bonjour           toto ,.,.,...           bonjour  tata,,,,,,,,,,,,,,,,,,,,,,,,'
    N=[u.strip() for u in a.split(',') if u.strip()]
    N=' '.join([u.strip() for u in a.split(' ') if u.strip()])
    N=" ".join(u.capitalize() for u in N.split(" "))
    N=' t'.join([u.strip() for u in N.split('T') if u.strip()])
    N=','.join([u.strip() for u in N.split(',') if u.strip()])
    N='.'.join([u.strip() for u in N.split('.') if u.strip()])
    N='b'.join([u.strip() for u in N.split('.B') if u.strip()])
    je ne sais pas quoi utilisé comme commande

  6. #6
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    sans savoir ce que vous voulez ça va être difficile ...

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Il faut que la phrase qui est dans la variable a soit corrigé pour que ça donne Bonjour toto, bonjour tata.

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

    Citation Envoyé par TSIN2019 Voir le message
    Il faut que la phrase qui est dans la variable a soit corrigé pour que ça donne Bonjour toto, bonjour tata.
    Et vous êtes obligé de faire çà avec .split/.join?

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

  9. #9
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    vois si toutes les commande qu'on doit utilisé "Pour vous aider utiliser les méthodes strip(),split(),join() ,count()et replace() , pour la correction des erreurs il est inutile voir déconseillé de suivre les 3 étapes dans l’ordre." parole de notre prof

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par TSIN2019 Voir le message
    vois si toutes les commande qu'on doit utilisé "Pour vous aider utiliser les méthodes strip(),split(),join() ,count()et replace() , pour la correction des erreurs il est inutile voir déconseillé de suivre les 3 étapes dans l’ordre." parole de notre prof
    C'est quoi ces 3 étapes?

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

  11. #11
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    4)’…………………….,,,,,,,,,,,,,,,,,, bonjour toto ,.,.,……. bonjour tata,,,,,,,,,,,,,,,,,,,,,,,,’
    Exemple d’erreur ci-dessus , correction, Bonjour toto, bonjour tata.

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

    Citation Envoyé par TSIN2019 Voir le message
    4)’…………………….,,,,,,,,,,,,,,,,,, bonjour toto ,.,.,……. bonjour tata,,,,,,,,,,,,,,,,,,,,,,,,’
    Exemple d’erreur ci-dessus , correction, Bonjour toto, bonjour tata.
    Ben de toutes façons, il n'y a pas de bonne raison pour que la solution soit plus "Bonjour toto, bonjour tata." que "Bonjour toto. Bonjour tata.".

    Après si vous partez de ’…………………….,,,,,,,,,,,,,,,,,, bonjour toto ,.,.,……. bonjour tata,,,,,,,,,,,,,,,,,,,,,,,,’ et que votre code ne fonctionne pas, il faut déjà expliquer l'algorithme (avant de montrer le code), vous assurez qu'il fonctionne sur le papier et l'expliquer.

    Déjà si vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    N=' t'.join([u.strip() for u in N.split('T') if u.strip()])
    c'est que ce que vous faites dépend de la chaine de caractères.
    Si votre chaîne de caractères change, il faudra écrire un code différent pour qu'il soit adapté à la chaine de caractères en entrée.
    Donc votre code, à la base, n'est pas de la programmation mais une sorte de fléchette où vous tirez à vue. Et si vous êtes obligé de regarder la chaine de caractère en entrée pour y appliquer des transformations, autant écrire directement le résultat attendu.

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

  13. #13
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    vous savez que de se moquer de quelqu'un ne va pas l'aider

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par TSIN2019 Voir le message
    vous savez que de se moquer de quelqu'un ne va pas l'aider
    Je ne me moque pas, j'essaie juste de vous expliquer que vous êtes dans un forum de programmation et qu'écrire un programme commence par décrire un algorithme qui marche a peu près sur le papier. Et que vous devez être à même de l'expliquer avant de coder.

    Après, si le but de votre exercice est de lancer l'interpréteur Python et de transformer une chaines de caractères en jouant avec des méthodes données, c'est sans doute un jeu intéressant pour apprendre à utiliser ces méthodes là... Et une fois que vous avez bien joué avec et compris comment elles fonctionnent, le but est atteint et l'exercice est terminé.

    Si vous pensez que vous pourriez faire mieux, rien ne vous empêche d'expédier un SMS à vos collègues de classe qui semblent se dépatouiller en informatique pour savoir comment ils ont traité ce sujet.


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

  15. #15
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Accessoirement (ça ne résoudra pas le souci qui me semble complètement absurde mais ça peut t'apprendre quelque chose), le join() ne nécessite pas forcément une liste en entrée. Il peut itérer tout seul sur l'instruction qui s'y trouve si celle-ci est itérable.

    Autrement dit, dans l'écriture L='.'.join([i.strip() for i in L.split('.') if i.strip()]), les crochets sont inutiles => L='.'.join(i.strip() for i in L.split('.') if i.strip()) fonctionne aussi.

    Alors pour join() ça ne change pas grand chose (même si une écriture simplifiée est quoi qu'il en soit toujours préférable). Ca peut changer quand on demande any() ou all() parce que dans any/all([...]) toute la liste sera générée avant d'être évaluée tandis que dans any/all(...) l'évaluation s'arrêtera dès qu'une certitude sera atteinte.

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    >>> def f():
    ...     print("ok")
    ...     return True
    ... 
    >>> any([f() for i in range(5)])
    ok
    ok
    ok
    ok
    ok
    True
     
    >>> any(f() for i in range(5))
    ok
    True
    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
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    il me demande de faire le même programme avec des fonctions explicites. Mais je ne sais pas se qu'il entend par "explicites".

  17. #17
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Hé bien ce sont des fonctions de ton cru dédiées à certaines actions. Par exemple tu peux créer la fonction "netoyage()" qui supprimera tout point suivi d'un point ou d'une virgule. Et etc etc etc.
    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]

  18. #18
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Perso je comprend que le prof veut que tu utilises des instructions "classiques" et non des listes en compréhension...

Discussions similaires

  1. acoustique, musique sur Python
    Par Papou_28 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 25/04/2007, 08h12
  2. Application reseau de neurone sur python!
    Par tnouss dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 15/04/2007, 20h18
  3. Boucles sur python
    Par Spitfire378 dans le forum Général Python
    Réponses: 10
    Dernier message: 08/04/2007, 20h46
  4. Comment obtenir une adresse mac sur python
    Par Wael Maaoui dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/02/2007, 13h52

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