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

Python Console Session
>>> 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

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013b;=wlSdf-:431(gnah.p/+uerovm)6 2iy9cs_Ptk05050h0y0O0r0H0f0L0F0K0f0r0L0L0d010O0H0u010406050L0x0C0C0r0z0I040g0A0f0x0,0A0q050v0?0^0`0|0;0u04051c151f0v1c0;0h0H0B0!0$0(0*0$0q0p0x0r0p0y0j0u0I0O0s130F0s0H0p0s0f1H0s0O0/050V0b0f0y1o0%0)011G1I1K1I0O1Q1S1O0O0z1d1C0!0 0L0u0r0q0*0G011U1q010i0X0y0q0r0C0y1O1:1=1`1W1}1S20220/0a0F0N0z0A0u0A0L0H120q0F0T1.0z0z0y0K2n15250q1d0v1C2A1*1,1+1P0h271r0H0q1 2k1O1l1n0#1V2K2M0q0A2Q1O0u2t1d2y2A2%0=1;2o2S1{2W0z0_0f1O0r1F2t0i0*030M0M0K2X0y1K2V0A0j0n350/0n150r2(2+0:2*262-1W2/2;2?2^0y2`012|2~30322N350j1^040G3a3c1=3e2y2J013j0r2=1d2@0s2_2{2}2 0T3t2W3v0m0/0m3A2x3d0;3E3h0*3H3J053L3N3p3P3s2L3u360l0/0l3Y163!3f2,1p3i0A2:3I3l3M3n3O3r3R3;3T360R0/0R3`2%3#2+3F3)443-3q3Q314a34360E0/0E4g3d1g2#152Q2D0h1,2I3%014p2P1m1d2!0y2$4y3{3C054p4P260H0h0*2}2y3v0n3l4X4Z484q334$1_2b0y4*4p3S4s372A3b3}3F0P0/0T0i3Z4S3$3 0*0e0/0F522z4|4H0q0i0/2W0C0b2t0M0T0M0C0A0O0L5a4V3~2T010.040o5s5c553G0/0u3M0%0y5A545v5x0D0k5s0;4R5b3E4)014!2+3v3x3+0F5U3/494-361^0F4:4=3:5)3w1O0v3b0F5^595K2.5g0b5n5p5r5R045`4j4H0A0/0d5s643g5C0C0H0/0Q5P5J4j5$0M4#363V3K5#4Y5V4+4@3U4/214;6t4?4r6w4`635_5B5v4~040i416a6H5|040K0`0r2v0y2t6N5{1W0A57042L6X655C0q5E5G0L5I626O1W5x5O625Q2)5T6s5W1=3v3@6q6l6B5:3@5,6y5.5(3=0j703A5_7e6b5u1{6J0H51627g4k0/6R0z6T0O6V6/2%7n6668697m6;0*0L4%0402030m0J0c0F7H7J0c6(6c5v6!0/6M7B6Y3(7p6S6U6W7W6)7S7z7Q7h1W7E0/7N7K0t7:7P6:7X5w0/6@4h6j4W6|6m5X4c4(80737a4d7622784,875=5@7f8g7C5D040q5~5o5q7+3F67040w7A7w8i6e386i7^6k806n0j4u71855/7a4u896z5%8c4b8E8e6F5^8i6J2t0O0x0z147%7R6P8l5 8o6^5A0v4U4z4O4B4L150O4E8?2G2B0r1R8:0v4C5Q0T0V0X0L04.