Aller au contenu

Dictionnaire des nombres d'occurrences dans une phrase

Définition : occurrence

D'après Le Larousse : « En logique, place occupée par un symbole dans une formule. »

  • Le nombre d'occurrences du caractère "o" dans "bonjour" est 2 ;
  • le nombre d'occurrences du caractère "b" dans "bonjour" est 1 ;
  • le nombre d'occurrences du caractère "B" dans "bonjour" est 0 ;
  • le nombre d'occurrences du caractère " " dans "Bonjour à tous !" est 3.

Le cadre

On souhaite stocker les nombres d'occurrences dans un dictionnaire dont les clés sont les caractères de la phrase et les valeurs le nombre d'occurrences du caractère.

Exercice

Coder une fonction occurrences prenant comme paramètre une chaine de caractères phrase. Cette fonction doit renvoyer un dictionnaire des nombres d'occurrences des caractères présents dans phrase.

Exemples d'utilisation
>>> occurrences("Bonjour à tous !")
{'B': 1, 'o': 3, 'n': 1, 'j': 1, 'u': 2, 'r': 1, ' ': 3, 'à': 1, 't': 1, 's': 1, '!': 1}
>>> occurrences("ababbab")
{"a": 3, "b": 4}

On rappelle que l'ordre des clés n'a pas d'importance pour comparer deux dictionnaires.

###(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 : /
.128013x/.r;nbOylaeu)*dM63Am(P+02è-],5fq!7B}8 N_o={pcwgv41kRIéhtsSC[i:050q0m0)0l0.0k0*0N0U0k0l0*0*0R010)0.0T010406050*0n0v0v0l0e0j040+0Q0k0n130Q0g0N020l0v0T0f0N0#0m1d0e0H0n0m0*050c1a1c1e1g180T04051L1E1O0c1L180q0.0X0{0}0 110(0.0W0(0k1$0(0)16050?0h0k0m1X0~10011#1%1)1%0)1/1;1-0)0e1M0)0(1?1Z010G0^0m0g1r0m010{1j0*0T0l0g110A1-2j2l271^2a1;2d0v2f040a0N0x0e0Q0T0Q0*0.1m1o0;2h0e0e0m0U2J1E2q0g1M0c252V2224231.0q2s111)0g2c2G1-1U1W0|1@2)0.2+0g0Q2/1-0T2O1M2T2V30192k1o2;282_0e1d0k160Z2S3417332r361^383a160A3e2l3g2T2(013l0l3b040t3p2U183s3j113v3x0Y3A3r343t3G160F3J3C3L3E3u0Q393w160s3Q3h351Y3k3V3m040J3!3D3%3F3)3X040M3J1P2~1E2/2Y0q242%3T0U2`2y0:1V1M2}0m2 3f3^420;4a3i3/010!160;0G3^3.2=010V160N4n3S4h0g0G160Q0U0U0n2N2c0U1C4u4g4p15040w4I3$4p0g160T0(0e0~0m4O3t4L0o0/3Q0N4(4t4o374k0.423J4*4v4p0Q160R4:3#3M0h4-2Q4Y3T4L0w0o4%4)4{3T4j040G3V4`4+3k160U1e0l2Q0B2O5d4=280Q4r042@5n4J4,044T4V0*4X1F4b5e114L4$5C3q064)5L4;5v1^590.4m5I2U5N4P5w5h4V5k5m5T045V3t5q165t5$5(3T4R041U4/5$574h5G555M5M5^4Q4~0Q505_160-625 045Y5j0)5l5B325E014L0D5u5W1^4@040y4_5-5~280v0.3c5{5}6f590m0_6d5D5o1^5`5$5K5|6x6E3F6066284L655@6f5:695!6C3q6r6F166i6q6f6m6p305.4h6t6v6H5L6Z11592O0)4D0g6j3M6N6H1E4d493_720c3|1E0)3~772#2W0l1:743|1K4f6k112O0v0P0G0l0!0m0P0(0t161w1y1A1C0N5H321R3g2/3t0l0q0v1n2I0.1n0N134L1K7G7I7K2J0C130)20040u1l2O0N0v0%25430N2F0 0.7e1P3g1L0i1o0T0m1l0{0e0%0m0e0N0n2K4.2J2d0.7%0q004A4C4E0g4G0`0w0g0n0k1;0*0o0N0q1n0)0N8m1X0%0`0*8r7O0Q0n0`8u6V6b2O0`2L05715x4U4W7043040E0N0=8t7z0X3w7{0e0`1@4A0.7 0`0/4t8L0z8P4e0d0N0,6A0l0N5A0N7o2I8{5j2b2x0g8s2c2h1s7~0(2c2H1n0d7=7h0$0k8_0n0G2a930g1a2I1=2L2k0e424D888t8^0U0(0@2+8p1=8F6c0`8K8Q5y8O0c8L8S8U8a6a0n3w0.5A811;8p857M0g872O9c7D1T1V3t1`1(1*1,7i3t2u2c2e162A0+0U0e148s0x0j7+6{5@487i314b8L6=4i4k0m5S6e6L4q4s6O3k4y048c4D2O8f4H6Saf52ai6M8M5z6X2Ua94!7B3f6I4(a95:5=616%af6)6|51160Sau3u161;1~5#ae5O5F16aC3q6,4p6.048.aKaYaa5a5ca,7jaS04aU22ay5%a95*5sa26+aG4S8N5AaR4L0L4:a%280U0Z16030{2P0.950T0)1=2F4D829B0h8B0|a`06aEb95P165b0eaN4waT0=a_bB4?5r5,b06Tb2axb5a!6w6;bL5;4.aJaXa=6QaR5:a^aW6Da-6hbG5p166ob*1^a)3d6Hbva96@0=6`b.avam8e8g3!9L8Q732V7g1N048?0}8~8}8|897{0b8A4D8I1=bq0nbs8S1d9T8p8z9W420e0T0`1C8s837-7{7-1k8x0.1s1;9%1Sc68?1~1=bk9y0g0.7y8_1=6^2D0n0X1=0l8C2H0N0lcY0U8V0`1 0mc!0b8S0X0Q4.bh0;0ncf71cE6t0}881C8;0w9f0N0jc%9C8t0%0W9F9X9j0%ao8g8T350~8p00802Obn0laV0l0T7 0d549(452:4h1/0h0m0q0C5A8sdBdD0C3wbk0e2dbk2g0qdq0l7W7d1^0Z0/2o1M2@0T7|9y2P7q0q11d(0Ud*2g0.d+010P0PdI0q0P0Zd{2g2w0m11d@d_d}7O0j7`7k7H7M010cd!0gd$8sd;e1d^7ddCd`d|2o0Nd eie3bce5e7014V1U4@ecdy3td_0C0}dC0_1-eF6A8{3VerekdDd{d}7!c)bocjbr1;1EeJ0k1MeZeL0eeN0heleQdZ0ueTc_cfckbs1D0ceZc4469)dz4peD42922c9/e|eCeOdE1:4A59f43T9,1|1+2paf9=d 9^0N9`9|bj2Ba00(1n3^a43#a66Ya8bS1d0P1)0*bkb{01aMa;4Z646$30bub@bya:bKaf5:0.fFa}bJ3fbw3F4}044V0g0Wa`aA164Nara-5:a b%bX164#6wb104fAfCfEf.a=6m9%bW6}04ds7`0g0qbO4MbZbygaf-g35/5+ga0odwfM8/74fu75e{c619221n0W040r7*fr9q9|0X0^da8(6dguf(2VcJgq0X7E9*3TeDf8d.16fb4hfd9.fga-fi9@2zfl9{9}fpa1ft3`7C32fyfS16f|9Tf~fRa-fHg`f?046Rgg4h0!0U160O1nf*6fb)fI3T6m0pfFf:b8a9bbbdbf0Ubh421sbk952xeU0Ne=9W0I3Q3Ra-59bzhfgihb4hfWf;a$aGf#f%f)gegc04hIazh9f@a#3BbRg=f{0lfBg^h8as64hPfUf fJ04fLfYa|4^hD5ahOh,gh5sgjc0a81R3`gM7?1M1xgxgz7,7.2H7;0ci49d3{gri118igiegNih0;0?0^0*gOe}287H7JcQ2Jhu1n8CgU1N7Siu7L1n7W2I7Z0Kiye@cJ1L2C2E2G80htcY8!9Z8_2l9G8L6Ab4c14e0Nhxdxi1.