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

  1. #1
    Nouveau Candidat au Club
    insérer saut de ligne dans une chaîne de caractère
    Bonjour à tous,

    je cherche à passer une chaîne de caractère trop longue sur deux lignes au lieu d'une, comme c'est une phrase, j'ai besoin de repérer un espace pour insérer le saut de ligne.

    J'ai pondu ça
    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
    16
    17
     
    chaine ='jsgqyehrnfiutfdnsjusncesjuekjfuds frertsuh'
    liste = list(chaine)
    print(liste)
    boucle = False
    if len(liste) > 30:
        while boucle == False:
            for c in liste[30:]:
                if c == "":
                    i = liste.index(c)
                    liste[i] = '\n'
                    boucle = True
     
            boucle = True
     
    chaine = ''.join(liste)
    print(chaine)


    je suis loin d'être un expert en python, je sens bien que j'ai bricolé. Quand le programme s'exécute, la chaîne n'est pas modifiée, je passe à côté de quelque chose mais je ne vois pas quoi

    Merci par avance pour votre aide

  2. #2
    Membre actif
    Bonjour,
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    chaine ='jsgqyehrnfiutfdnsjusncesjuekjfuds frertsuh'
    chaine = chaine.replace(' ','\n')
    print(chaine)

    ?

  3. #3
    Expert éminent sénior
    Salut,

    textwrap le fait déjà:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> chaine ='jsgqyehrnfiutfdnsjusncesjuekjfuds frertsuh'
    >>> import textwrap
    >>> textwrap.wrap(chaine, width=40)
    ['jsgqyehrnfiutfdnsjusncesjuekjfuds', 'frertsuh']
    >>> '\n'.join(textwrap.wrap(chaine, width=40))
    'jsgqyehrnfiutfdnsjusncesjuekjfuds\nfrertsuh'
    >>>


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

  4. #4
    Membre averti
    Bonjour,

    le problème dans votre code se situe au niveau de votre condition.
    Si vous voulez vérifier qu'un caractère est un espace il faut écrire

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    if c == " ":


    au lieu de
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    if c == "":

    qui représente une chaine vide.

    La solution de Hominidé est la plus simple, mais voici une solution qui se rapprocherai plus de votre approche:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        chaine ='jsgqyehrnfiutfdnsjusncesjuekjfuds frertsuh'
        liste = list(chaine)
     
        for i, c in enumerate(liste):
            if c == " ":
                liste[i] = "\n"
     
        chaine = "".join(liste) 
        print(chaine)

  5. #5
    Nouveau Candidat au Club
    merci à tous pour vos réponses!

###raw>template_hook.ano_emploi###