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

.128013fd6nmi4=3y_ 9pu0ts5/v1b(P)l;gow-ah:+rS2cek.050c0P0r0H0g0B0s0m0O0B0H0s0s0i010r0g0o010406050s0p0f0f0H0L0k040M0E0B0p0,0E0e050u0?0^0`0|0;0o04051c151f0u1c0;0c0g0v0!0$0(0*0$0e0D0p0H0D0P0G0o0k0r0I130m0I0g0D0I0B1H0I0r0/050V0x0B0P1o0%0)011G1I1K1I0r1Q1S1O0r0L1d1C0!0 0s0o0H0e0*0N011U1q010b0X0P0e0H0f0P1O1:1=1`1W1}1S20220/0a0m0z0L0E0o0E0s0g120e0m0T1.0L0L0P0O2n15250e1d0u1C2A1*1,1+1P0c271r0g0e1 2k1O1l1n0#1V2K2M0e0E2Q1O0o2t1d2y2A2%0=1;2o2S1{2W0L0_0B1O0H1F2t0b0*030l0l0O2X0P1K2V0E0G0w350/0w150H2(2+0:2*262-1W2/2;2?2^0P2`012|2~30322N350G1^040N3a3c1=3e2y2J013j0H2=1d2@0I2_2{2}2 0T3t2W3v0j0/0j3A2x3d0;3E3h0*3H3J053L3N3p3P3s2L3u360h0/0h3Y163!3f2,1p3i0E2:3I3l3M3n3O3r3R3;3T360t0/0t3`2%3#2+3F3)443-3q3Q314a34360d0/0d4g3d1g2#152Q2D0c1,2I3%014p2P1m1d2!0P2$4y3{3C054p4P260g0c0*2}2y3v0w3l4X4Z484q334$1_2b0P4*4p3S4s372A3b3}3F0Q0/0T0b3Z4S3$3 0*0F0/0m522z4|4H0e0b0/2W0f0x2t0l0T0l0f0E0r0s5a4V3~2T010.040y5s5c553G0/0o3M0%0P5A545v5x0A0J5s0;4R5b3E4)014!2+3v3x3+0m5U3/494-361^0m4:4=3:5)3w1O0u3b0m5^595K2.5g0x5n5p5r5R045`4j4H0E0/0i5s643g5C0f0g0/0q5P5J4j5$0l4#363V3K5#4Y5V4+4@3U4/214;6t4?4r6w4`635_5B5v4~040b416a6H5|040O0`0H2v0P2t6N5{1W0E57042L6X655C0e5E5G0s5I626O1W5x5O625Q2)5T6s5W1=3v3@6q6l6B5:3@5,6y5.5(3=0G703A5_7e6b5u1{6J0g51627g4k0/6R0L6T0r6V6/2%7n6668697m6;0*0s4%0402030j0n0C0m7H7J0C6(6c5v6!0/6M7B6Y3(7p6S6U6W7W6)7S7z7Q7h1W7E0/7N7K0R7:7P6:7X5w0/6@4h6j4W6|6m5X4c4(80737a4d7622784,875=5@7f8g7C5D040e5~5o5q7+3F67040K7A7w8i6e386i7^6k806n0G4u71855/7a4u896z5%8c4b8E8e6F5^8i6J2t0r0p0L147%7R6P8l5 8o6^5A0u4U4z4O4B4L150r4E8?2G2B0H1R8:0u4C5Q0T0V0X0s04.