Découpage de phrases

Fermé
mpilouu Messages postés 2 Date d'inscription samedi 16 décembre 2017 Statut Membre Dernière intervention 17 décembre 2017 - Modifié le 16 déc. 2017 à 22:15
 futjo - 19 déc. 2017 à 10:32
Bonjour,
Il nous faut créer un programme qui convertira nos phrases sous la forme :
[Le, chat, mange, la, souris] et qui placera le résultat dans un second document une phrase par ligne.
Après plusieurs tentatives pour résoudre ce problème, nous commençons à être assez désespérées.
Nous savons que nous devons commencer par découper en lignes, ce qui nous donnera un tableau avec une phrase par cellule, puis il faudra faire une itération sur ce tableau pour ensuite appliquez nos instructions (découper en mots, join et crochets). Par contre, nous n'arrivons pas à l'appliquer.
Voici ce que nous avons tenté de faire jusqu'à présent et ce qui nous semble le plus logique:

import re
phrases = '''les femmes de Gatineau sont belles
je mange un gâteau
la fillette joue dehors
ma belle amie de Boucherville danse
j’aime les beaux garçons
j’écris un livre
la maison tombe en ruine
le vin rend la vie meilleure
Annabelle fait peur
je regarde un film'''

R = re.split('\n', phrases)
for mots in R:
    mots = re.split(' ',R)
    resultat = ','.join(mots)
    resultat = '['+ resultat +']'
    print(' ',resultat)


Est-ce que quelqu'un pourrait nous aider à trouver quel est le problème?
Merci beaucoup,
Nom supprimé Modération CCM
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
16 déc. 2017 à 23:41
Bonsoir

J'écris ce que fait ta boucle en pseudo code

Pour chaque mots dans tableauDePhrases:
mots = tableauDePhrases découpé à chaque espace
etc

Vois tu ce qui ne colle pas?
0
mpilouu Messages postés 2 Date d'inscription samedi 16 décembre 2017 Statut Membre Dernière intervention 17 décembre 2017
17 déc. 2017 à 00:11
Hmmm.. oui en effet je vois que ça ne fonctionne pas, par contre, je ne trouve pas non plus la solution à ce problème..
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
17 déc. 2017 à 08:37
R = re.split('\n', phrases)

Fait en sorte de découper le texte
'''les femmes de Gatineau sont belles
je mange un gâteau
la fillette joue dehors
ma belle amie de Boucherville danse
j’aime les beaux garçons
j’écris un livre
la maison tombe en ruine
le vin rend la vie meilleure
Annabelle fait peur
je regarde un film'''

a chaque fin de ligne. Donc la première entrée du tableau sera
'''les femmes de Gatineau sont belles'''
, la 2eme
'''je mange un gâteau'''
etc...

for mots in R:

ceci met tour à tour, les entrées de R dans mot, donc au premier tour de boucle mots vaut
'''les femmes de Gatineau sont belles'''


mots = re.split(' ',R)

Ceci veut découper R, un tableau, voir la doc de spilt https://docs.python.org/2/library/re.html
0
L'utilisation du module re n'est pas vraiment nécessaire ici, les méthodes de split de str suffisent.

Que l'on peut écrire ainsi de la façon la plus simple :

for phrase in phrases.splitlines():
    mots = phrase.split()
    resultat = '[' + ', '.join(mots) + ']'
    print(resultat)
0