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

.128013w4h)1(+5-_s3u:/S bn=ve0im.tP6p2drgylckfao050G0w0B0O0y0K0l0r0L0K0O0l0l0u010B0y0E010406050l0n0z0z0O0H0J040q0P0K0n0*0P0t050p0;0?0^0`0/0E04051a131d0p1a0/0G0y0v0Y0!0$0(0!0t0I0n0O0I0w0j0E0J0B0d110r0d0y0I0d0K1F0d0B0-050T0s0K0w1m0#0%011E1G1I1G0B1O1Q1M0B0H1b1A0Y0}0l0E0O0t0(0F011S1o010N0V0w0t0O0z0w1M1.1:1^1U1{1Q1~200-0a0r0C0H0P0E0P0l0y100t0r0R1,0H0H0w0L2l13230t1b0p1A2y1(1*1)1N0G251p0y0t1}2i1M1j1l0Z1T2I2K0t0P2O1M0E2r1b2w2y2#0:1/2m2Q1_2U0H0@0K1M0O1D2r0N0(030k0k0L2V0w1I2T0P0j0f330-0f130O2$2)0.2(242+1U2-2/2;2?0w2^012`2|2~302L330j1?040F383a1:3c2w2H013h0O2:1b2=0d2@2_2{2}0R3r2U3t0m0-0m3y2v3b0/3C3f0(3F3H053J3L3n3N3q2J3s340c0-0c3W143Y3d2*1n3g0P2.3G3j3K3l3M3p3P3/3R340i0-0i3^2#3Z2)3D3%423+3o3O2 4832340D0-0D4e3b1e2Z132O2B0G1*2G3#014n2N1k1b2Y0w2!4w3_3A054n4N240y0G0(2{2w3t0f3j4V4X464o314!1@290w4(4n3Q4q352y393{3D0M0-0R0N3X4Q3!3}0(0b0-0r502x4`4F0t0N0-2U0z0s2r0k0R0k0z0P0B0l584T3|2R010,040g5q5a533E0-0E3K0#0w5y525t5v0e0o5q0/4P593C4%014Y2)3t3v3)0r5S3-474+341?0r4.4:3.5%3u1M0p390r5?575I2,5e0s5l5n5p5P045^4h4F0P0-0u5q623e5A0z0y0-0x5N5H4h5!0k4Z343T3I5Z4W5T4)4=3S4-1 4/6r4;4p6u4^615@5z5t4|040N3 686F5`040L0^0O2t0w2r6L5_1U0P55042J6V635A0t5C5E0l5G606M1U5v5M605O2%5R6q5U1:3t3=6o6j6z5.3=5*6w5,5$3:0j6~3y5@7c695s1_6H0y4 607e4i0-6P0H6R0B6T6-2#7l6466677k6/0(0l4#04000r006$6a5t6Y0-6K7z6W3$7n6Q6S6U7O6%7K7x7I7f1U7C0-000A7H6.7P5u0-6=4f6h4U6`6k5V4a4$7?71784b7420764*7}5:5=7d867A5B040t5|5m5o7Z3D65040h7y7u886c366g7+6i7?6l0j4s6 7{5-784s7 6x5#82498u846D5?886H2r0B0n0H127V7J6N8b5}8e6?5y0p4S4x4M4z4J130B4C8)2E2z0O1P8$0p4A5O0R0T0V0l04.