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


Sujet :

Python

  1. #1
    Candidat au Club
    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 confirmé
    Bonjour,

    Regardez du côté de textwrap.wrap

  3. #3
    Candidat au Club
    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 émérite
    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
    Candidat au Club
    par groupes de 3

  6. #6
    Membre émérite
    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 expérimenté
    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', 'é(-', '-èè', '_çà']
    Pas d'aide par mp.

  8. #8
    Rédacteur



    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 ?

  9. #9
    Membre émérite
    Citation Envoyé par marco056 Voir le message
    Comme cela ?
    Cool, ça m'a l'air bien ça !

  10. #10
    Membre émérite
    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 confirmé
    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 éminent
    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 expérimenté
    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.
    Pas d'aide par mp.

  14. #14
    Candidat au Club
    Merci beaucoup pour vos réponses.