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 :

Découpage d'une chaine de caracteres [Python 3.X]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut Découpage d'une chaine de caracteres
    Bonsoir ,
    pouviez vous m'aider s'il vous plait a ce sujet:
    J'aimerais pouvoir découper cette chaine de caractère en 6.
    exemple:
    azertyuiopqsdfghjk
    j'aimerais la decouper sous cette forme :
    (azerty,uiopqs,dfghjk)
    hormis cet exemple j'aimerais que cela marche meme avec une très grande chaine de caractères.
    merci d'avance pour votre aide.

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

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Bonjour,

    Regardez du côté de textwrap.wrap

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut
    Citation Envoyé par flapili Voir le message
    Bonjour,

    Regardez du côté de textwrap.wrap
    Merci, mais je n’y comprends pas trop 😅 en réalité je dois extraire des caractères issue d’un fichier txt et les traduire du morse au français. Sauf que tous les caractères se suivent ( point et tirets) et je dois pouvoir les extraire par groupe de 3 pour pouvoir les traduire.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par gostravel Voir le message
    Sauf que tous les caractères se suivent ( point et tirets) et je dois pouvoir les extraire par groupe de 3 pour pouvoir les traduire.
    Par groupe de 3 ou de 6 (premier poste) ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut
    par groupes de 3

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par gostravel Voir le message
    par groupes de 3
    Ben dans ce cas ton exemple du premier poste n'est pas bon ?
    J'aimerais pouvoir découper cette chaine de caractère en 6.
    exemple:
    azertyuiopqsdfghjk
    j'aimerais la decouper sous cette forme :
    (azerty,uiopqs,dfghjk)
    Sous quelle forme veux-tu récupérer le résultat ?

  7. #7
    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
    Comme cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    chaine = "azertyuiopqsdfghjklmnopqrstuvwxyz123456789é(--èè_çà"
    decoup = 3
    liste_decoup=[]
    for i in range(0,len(chaine),decoup):
        liste_decoup.append(chaine[i:i+decoup])
    print(liste_decoup)
    Le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['aze', 'rty', 'uio', 'pqs', 'dfg', 'hjk', 'lmn', 'opq', 'rst', 'uvw', 'xyz', '123', '456', '789', 'é(-', '-èè', '_çà']

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Je ne connais pas le morse, mais si je regarde le site et sa table de conversion, je vois que les caractères A-Z sont représentés par 1 (E et T) à 4 signes morses et les chiffres de 0-9 ont chacun 5 signes morses. Plus les codes de transmission.

    Je ne vois pas l'utilité du découpage en 3 signes ?

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Comme cela ?
    Cool, ça m'a l'air bien ça !

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message


    Je ne connais pas le morse, mais si je regarde le site et sa table de conversion, je vois que les caractères A-Z sont représentés par 1 (E et T) à 4 signes morses et les chiffres de 0-9 ont chacun 5 signes morses. Plus les codes de transmission.

    Je ne vois pas l'utilité du découpage en 3 signes ?
    Ouais c'est bizarre... Et au début c'était découper en 6 ensuite en 3...D'où mes questions pour clarifier...

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

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Si ça vient d'un fichier pourquoi ne pas lire 3 caractères par 3 ? Et faire une sorte de table de mapping avec un dictionnaire? S'il n'y a que 2 caractères (point et tiret) par groupe de 3 ça fait pas énormément de combinaison, 23 soit 8

  12. #12
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    une solution alternative :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import re
    >>> s = 'azertyuiopqsdfghjklmnopqrstuvwxyz123456789é(--èè_çà'
    >>> re.findall('.{1,3}', s)
    ['aze', 'rty', 'uio', 'pqs', 'dfg', 'hjk', 'lmn', 'opq', 'rst', 'uvw', 'xyz', '123', '456', '789', 'é(-', '-èè', '_çà']

  13. #13
    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
    Il va falloir que je me penche un jour sérieusement sur les expressions régulières...
    A chaque fois que j'utilise cela, cela me paraît extrêmement obscure.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut
    Merci beaucoup pour vos réponses.

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

Discussions similaires

  1. Découpage d'une chaine de caractere
    Par abbd dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/02/2009, 22h43
  2. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  3. Extraire un nom d'une chaine de caractere
    Par iamspacy dans le forum Linux
    Réponses: 4
    Dernier message: 03/05/2004, 21h34
  4. Réponses: 2
    Dernier message: 30/03/2004, 11h31
  5. Controler une chaine de caracteres ou d'entiers?
    Par Le druide dans le forum C
    Réponses: 6
    Dernier message: 25/09/2003, 08h48

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