Nombre de mots

Dans cet exercice, on considère des phrases composées de mots.

  • On appelle « mot » une chaîne de caractères composée avec des caractères choisis parmi les 26 lettres minuscules ou majuscules de l'alphabet,

  • On appelle phrase une chaîne de caractères :

    • composée avec un ou plusieurs mots séparés entre eux par un seul caractère espace ' ',
    • se finissant :
      • soit par un point '.' qui est alors collé au dernier mot,
      • soit par un point d'exclamation '!' ou d'interrogation '?' qui est alors séparé du dernier mot par un seul caractère espace ' '.

Voici deux exemples de phrases :

  • 'Cet exercice est simple.'
  • 'Le point d exclamation est separe !'

Après avoir remarqué le lien entre le nombre de mots et le nombres de caractères espace dans une phrase, programmer une fonction nombre_de_mots qui prend en paramètre une phrase et renvoie le nombre de mots présents dans cette phrase.

Exemples

🐍 Console Python
>>> nombre_de_mots('Cet exercice est simple.')
4
>>> nombre_de_mots('Le point d exclamation est séparé !')
6
>>> nombre_de_mots('Combien de mots y a t il dans cette phrase ?')
10
>>> nombre_de_mots('Fin.')
1
Compléter la fonction nombre_de_mots

###
# Testsbksl-nlassert nombrepy-unddepy-undmots('Cet exercice est simple.') == 4bksl-nlassert nombrepy-unddepy-undmots('Le point d exclamation est séparé !') == 6bksl-nlassert nombrepy-unddepy-undmots('Combien de mots y a t il dans cette phrase ?') == 10bksl-nlassert nombrepy-unddepy-undmots('Fin.') == 1bksl-nlbksl-nl# Autres testsbksl-nlassert nombrepy-unddepy-undmots('') == 0bksl-nlassert nombrepy-unddepy-undmots('Hello !') == 1bksl-nlassert nombrepy-unddepy-undmots('Hello.') == 1bksl-nlbksl-nl 5/5
def nombrepy-unddepy-undmots(phrase):bksl-nl ...bksl-nlbksl-nl# Testsbksl-nlassert nombrepy-unddepy-undmots('Cet exercice est simple.') == 4bksl-nlassert nombrepy-unddepy-undmots('Le point d exclamation est séparé !') == 6bksl-nlassert nombrepy-unddepy-undmots('Combien de mots y a t il dans cette phrase ?') == 10bksl-nlassert nombrepy-unddepy-undmots('Fin.') == 1bksl-nlbksl-nldef nombrepy-unddepy-undmots(phrase):bksl-nl nbpy-undmots = 0bksl-nl for caractere in phrase:bksl-nl if caractere == ' ' or caractere == '.':bksl-nl nbpy-undmots += 1bksl-nl return nbpy-undmotsbksl-nl bksl-nl