Résolue

Exo Compter le nombre de phrases dans un texte

# Algorithmes

Bonjour, j'ai réalisé l'exercice qui consiste à compter le nombre de phrase et le résultat était le bon.

Voici ma solution :

lorem = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""


symbole = (".", "?", "!", "...")

resultat = 0


for i in lorem:

  for j in symbole:

    if i == j:

      resultat += 1


Néanmoins, je me dis que si la phrase avait été la suivante, ma réponse aurait été fausse et je ne vois pas comment résoudre ce problème. Je débute la formation ;-) :


lorem = """Lorem ipsum dolor sit amet! consectetur adipiscing elit, sed do eiusmod tempor? incididunt ut labore et dolore <u>4.2</u> magna aliqua.

  Ut enim ad minim veniam, quis nostrud."""


Y aurait-il une solution simple avec ce qu'on voit en début de formation pour résoudre ce problème avec un texte contenant un nombre décimal?

Ou bien on verra ça plus tard?

Merci

Thibault houdon

Mentor

Bonjour Stev !


Une solution simple pourrait être de remplacer le point par un point avec un espace derrière dans ta liste de symboles. Pareil pour les virgules si tu souhaitais éviter de tomber sur des nombres du style 4,2 :)

Merci, quelle rapidité. j'adore. Effectivement pour la virgule ça fonctionne. Mais pour le point final sans espace derrière, le résultat sera faux.

C'est cool ce forum, car en discutant on peut ouvrir sur des solutions qu'on ne voyait pas au départ.

Et pour cette histoire de point final, on pourrait peut-être résoudre le truc avec la méthode endswith qui est dans le cours?

Bon, je sais pas bien comment, mais encore merci pour cette échange Thibault.

Bonjour Stev,


Une solution un peu "hack" serait d'ajouter un espace à la chaîne de caractères avant de faire le traitement :)


Par exemple :

>>> phrase = "lorem ipsum. Dolo amet."
>>> phrase = phrase + " "
>>> phrase.count(". ")
2

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.