facile
Annuaire
On considère dans cet exercice des annuaires associant à des noms de personnes, leur numéro de téléphone.
Ces annuaires sont représentés en Python par des dictionnaires { nom : numéro } . Par exemple :
Exemple d'annuaire annuaire = {
"Armand" : "01.17.58.88" ,
"Arnaud" : "02.56.78.90" ,
"Nicole" : "02.34.56.78" ,
"Nolann" : "04.55.42.21" ,
"Céline" : "02.34.56.78" ,
}
On remarque que :
tous les noms sont différents ;
tous les numéros sont fournis sous forme de chaînes de caractères ;
tous les numéros débutent par "01" , "02" , "03" , "04" ou "05" (le "03" et le "05" n'apparaissent pas dans l'exemple mais sont utilisés dans les tests secrets) ;
les numéros ne comportent que 4 nombres (et pas 5 comme les numéros français) sans que cela ne modifie l'exercice.
Ces différentes observations seront vraies dans tous les annuaires utilisés dans cet exercice .
On souhaite dans les différentes questions ci-dessous filtrer de tels annuaires. Il est donc demandé pour chaque question de renvoyer un dictionnaire { nom : numéro } . Ces dictionnaires de résultats peuvent contenir 0, 1 ou plusieurs couples ( nom , numéro ) .
Rappels sur les dictionnaires
On rappelle que si dico est un dictionnaire Python :
for cle in dico : permet de parcourir ses clés ;
for cle in dico . keys (): permet aussi de parcourir ses clés ;
for valeur in dico . values (): permet de parcourir ses valeurs ;
for ( cle , valeur ) in dico . items (): permet de parcourir ses couples ( cle , valeur ) .
1. Filtrer par nom
Écrire la fonction filtre_nom qui prend en paramètres un annuaire (dict ) et un nom (str ) et renvoie le dictionnaire { nom : numéro } donnant le numéro de la personne cherchée.
Exemples
>>> annuaire = {
... "Armand" : "01.17.58.88" ,
... "Arnaud" : "02.56.78.90" ,
... "Nicole" : "02.34.56.78" ,
... "Nolann" : "04.55.42.21" ,
... "Céline" : "02.34.56.78" ,
... }
>>> filtre_nom ( annuaire , "Nolann" )
{'Nolann': '04.55.42.21'}
>>> filtre_nom ( annuaire , "Cédric" )
{}
Version vide Version à compléter
.128013,n Ow5e(]3Cm=Rp)rhk[uo}is;cb/.S1vàtq_{dg:éay24Pfl050N0h0J0R0y0X0z0d0B0X0R0z0z0n010J0y0p010406050z0v0m0m0R0r0S040F0w0X0v0=0w0c0d020R0m0p0A0d0o0h0 0r0K0v0h0z050D0|0~10120`0p041q1x051A0D1A1C1x0`0N0y0H0*0,0.0:0s0y0O0s0X1Q0s0J0^050#0C0X0h1L0-0/011P1R1T1R0J1Z1#1X0J0C0w0N121Y0r1y0J0s0*150z0p0R0c0:0T011%1N010W0%0h0c1d0h1X2224291)2c1#2f0m2h040a0d0V0r0w0p0w0z0y181a0Z200r0r0h0B2C1q2j0c1y0D1~2O0J1|1{1}0N2l0:1T0c2e2z1X1I1K0+1(2Y0y2!0c1^1J1X0p2H1y2M2O2_0{231a2*2a2/0r0 0X0^0G2L2}0_2|2k2 1)31330^0T3724392M2X013e0R34040k3i2N0`3l3c0:3o3q0U3t3k2}3m3z0^0g3C1z2@1q2(2R0N2V3m0B1^2r0Y1J1y2?0h2^383J3S0Z3!3b1M1)0t0^0Z0W3J3w3+0:0f0^0d3;3E3x3n0W0^2n2S0h0L2/0m3{3*2+010@040i472~3?3n0^240c0v0$2H4e3m4b0b3C3`3=490c0^454o3}4b0q0P3C060d4G4t3|4g3-040y3:1r384I48304x0w464P3j4R4f490w3^4M0c4s3a4!4T044j4l0y4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0J0v0r4)4|504A0^0M4z4g4w044y4|4^5a044{2_595e4i0c4k4m0h5d494b0u5v4-5h2{4u2a4b0j0x4E4~5j4K0^0h0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0D3%3Z3K5=0D3N1q0J3P5`2T2P1@1_2R0R1!5@3N1w3)4,1)2H0m0L0W0R0t430s0k0^1i1k1m1o0d5U3j1z391x0l0!0J1$0R0p2y0B0s1$1o0J0d0Q1m1J3p2e6x0d0I0*5N1#200c2A0z0#0c6G6P6e4;1$0v1a230r3S550)0!0d6(1$0z0w0r0=6y6Y0y0B0?0Q0h0E0d0e1a170%0y0z1$055;4.5r4:2H0E2B1j0z0i0q1q7b0d6J0d2H0c0H0w0y1$1#0)6,0p7x3`7b0i0+0Q0b0d0H6L557l5:3T040d0N0v7Q6|2C2f6$0E6s1H1J3m1+1S1U1W683m2n2e2g0^2t0F0B0r0?6G0V0S1~193J3Y682`3#7b5*3,3.0h4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0W6@8A8f8o4c8x4h040p0h0r6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0w0^7Y8r8 5f7h0m1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040n0n9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0w8?0^5-2_5W9j8S8N0^535%9!8T0M9+5V7m7O5?2O661B04730d8Y170d0R0v0.0ya42w0B0Q0Z0r0d2e6T6W0r0v77246G6(7T2J0y9t5tai2~4V2?0Q6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0s7}5i7 4+816r839k4L3/8V8c9S8h8j435B3#9k4b8q8(9p7c8v4=a|5k8,5)9k5fa@6ra_8I9H4}8La+9;5$9O8-b9045c9X4v9q8Z9V8%a^aP9ZbiaPb69$8=bv8_8O8QbA8 a`9Sbo9s8$9)8+9@8C5gby9(bm5+047Mb4aP8{4(bN907d92bS1)9x96b19C9a9cb,9Q9fb!9m884Q8.9Tbp9tbr4Y8.9x9zb!b69Eb:bT9`3j5/831D3L5^3W5/0Z0#0%0z04.
.128013,n Ow5e(]3Cm=Rp)rhk[uo}is;cb/.S1vàtq_{dg:éay24Pfl050N0h0J0R0y0X0z0d0B0X0R0z0z0n010J0y0p010406050z0v0m0m0R0r0S040F0w0X0v0=0w0c0d020R0m0p0A0d0o0h0 0r0K0v0h0z050D0|0~10120`0p041q1x051A0D1A1C1x0`0N0y0H0*0,0.0:0s0y0O0s0X1Q0s0J0^050#0C0X0h1L0-0/011P1R1T1R0J1Z1#1X0J0C0w0N121Y0r1y0J0s0*150z0p0R0c0:0T011%1N010W0%0h0c1d0h1X2224291)2c1#2f0m2h040a0d0V0r0w0p0w0z0y181a0Z200r0r0h0B2C1q2j0c1y0D1~2O0J1|1{1}0N2l0:1T0c2e2z1X1I1K0+1(2Y0y2!0c1^1J1X0p2H1y2M2O2_0{231a2*2a2/0r0 0X0^0G2L2}0_2|2k2 1)31330^0T3724392M2X013e0R34040k3i2N0`3l3c0:3o3q0U3t3k2}3m3z0^0g3C1z2@1q2(2R0N2V3m0B1^2r0Y1J1y2?0h2^383J3S0Z3!3b1M1)0t0^0Z0W3J3w3+0:0f0^0d3;3E3x3n0W0^2n2S0h0L2/0m3{3*2+010@040i472~3?3n0^240c0v0$2H4e3m4b0b3C3`3=490c0^454o3}4b0q0P3C060d4G4t3|4g3-040y3:1r384I48304x0w464P3j4R4f490w3^4M0c4s3a4!4T044j4l0y4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0J0v0r4)4|504A0^0M4z4g4w044y4|4^5a044{2_595e4i0c4k4m0h5d494b0u5v4-5h2{4u2a4b0j0x4E4~5j4K0^0h0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0D3%3Z3K5=0D3N1q0J3P5`2T2P1@1_2R0R1!5@3N1w3)4,1)2H0m0L0W0R0t430s0k0^1i1k1m1o0d5U3j1z391x0l0!0J1$0R0p2y0B0s1$1o0J0d0Q1m1J3p2e6x0d0I0*5N1#200c2A0z0#0c6G6P6e4;1$0v1a230r3S550)0!0d6(1$0z0w0r0=6y6Y0y0B0?0Q0h0E0d0e1a170%0y0z1$055;4.5r4:2H0E2B1j0z0i0q1q7b0d6J0d2H0c0H0w0y1$1#0)6,0p7x3`7b0i0+0Q0b0d0H6L557l5:3T040d0N0v7Q6|2C2f6$0E6s1H1J3m1+1S1U1W683m2n2e2g0^2t0F0B0r0?6G0V0S1~193J3Y682`3#7b5*3,3.0h4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0W6@8A8f8o4c8x4h040p0h0r6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0w0^7Y8r8 5f7h0m1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040n0n9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0w8?0^5-2_5W9j8S8N0^535%9!8T0M9+5V7m7O5?2O661B04730d8Y170d0R0v0.0ya42w0B0Q0Z0r0d2e6T6W0r0v77246G6(7T2J0y9t5tai2~4V2?0Q6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0s7}5i7 4+816r839k4L3/8V8c9S8h8j435B3#9k4b8q8(9p7c8v4=a|5k8,5)9k5fa@6ra_8I9H4}8La+9;5$9O8-b9045c9X4v9q8Z9V8%a^aP9ZbiaPb69$8=bv8_8O8QbA8 a`9Sbo9s8$9)8+9@8C5gby9(bm5+047Mb4aP8{4(bN907d92bS1)9x96b19C9a9cb,9Q9fb!9m884Q8.9Tbp9tbr4Y8.9x9zb!b69Eb:bT9`3j5/831D3L5^3W5/0Z0#0%0z04.
2. Filtrer par initiale
Écrire la fonction filtre_initiale qui prend en paramètres un annuaire (dict ) et une lettre majuscule (str ) et renvoie le dictionnaire { nom : numéro } donnant le numéro de toutes les personnes dont l'initiale est celle cherchée.
Exemples
>>> annuaire = {
... "Armand" : "01.17.58.88" ,
... "Arnaud" : "02.56.78.90" ,
... "Nicole" : "02.34.56.78" ,
... "Nolann" : "04.55.42.21" ,
... "Céline" : "02.34.56.78" ,
... }
>>> filtre_initiale ( annuaire , "N" )
{'Nicole': '02.34.56.78', 'Nolann': '04.55.42.21'}
>>> filtre_initiale ( annuaire , "P" )
{}
Version vide Version à compléter
.128013,n Ow5e(]3m=R0p)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050N0h0J0R0y0X0z0d0B0X0R0z0z0m010J0y0p010406050z0v0l0l0R0r0S040G0w0X0v0=0w0c0d020R0l0p0A0d0n0h0 0r0K0v0h0z050D0|0~10120`0p041q1x051A0D1A1C1x0`0N0y0I0*0,0.0:0s0y0O0s0X1Q0s0J0^050#0C0X0h1L0-0/011P1R1T1R0J1Z1#1X0J0C0w0N121Y0r1y0J0s0*150z0p0R0c0:0T011%1N010W0%0h0c1d0h1X2224291)2c1#2f0l2h040a0d0V0r0w0p0w0z0y181a0Z200r0r0h0B2C1q2j0c1y0D1~2O0J1|1{1}0N2l0:1T0c2e2z1X1I1K0+1(2Y0y2!0c1^1J1X0p2H1y2M2O2_0{231a2*2a2/0r0 0X0^0H2L2}0_2|2k2 1)31330^0T3724392M2X013e0R34040k3i2N0`3l3c0:3o3q0U3t3k2}3m3z0^0g3C3v3E3x3n0w323p0^0E3C1z2@1q2(2R0N2V3m0B1^2r0Y1J1y2?0h2^383T3$0Z3.3b1M1)0t0^0Z0W3T3w3^0:0f0^0d3~3L403n0W0^2n2S0h0L2-2B0y3p0h453@2+010@040i4k2~470c0^240c0v0$2H4r3m4o0b3C443 4m4u044f0=4i4B3M4o0q0P3J0d4U4G464I0^2H0|0X0#0J4F3a4s4m0w0^0m4)4H2a4o0M0x4T4V4*3m3`040W3O4:4X300^0p0h0r0z192!514l2a0w424K0c5b4+53044w4y0y4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0y3}5w2N5B5j3d5456580c5a5H3?5K0:4o0u4O470l0y0^0o5X4m4o0j5i3m4-040m4/5R5J3F5E0c4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0v4$0R4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0J0v0r5h6u6F4J4!684%3J1q3;3-3U6.0D3X1q0J3Z6?2T2P1@1_2R0R1!6:3X1w5S3m2H0l0L0W0R0t4d0s0k0^1i1k1m1o0d5 3/1D391x0e1a55170d0R0v0.0y0d2?0w0B0Q0Z0r0d2e200c0z2S0v0y0z240J0d0v2D0y2J0y596C7G2~0w1e0r0Q0s2e2A197G7Q056-5l5P5n2H0F2B1j0z0i0q6,3%040d1m7y2H0c0I0w0y1$1#0)3$0v0p8a447:0i0+0Q0b0d0I4i6Y7}0D7:0d0N0v8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0G0B0r0?7Q0V0S1~193T3,5S2`3/7:6T5D043|6I1)5f446p5T484a0%4c4e5^4M1#8/6r4q8?5?7;4x6C906G044E6#6O3n5@5_8 935}044R4_4U8+0:6V0!6Y6!2_5=9j0M984J6K6n985u6y65044x2q2w9E4m4}4 0r9K4=0^926N6q9e6k5N9B9i474D9P6j9H560w9C0^8q9u9o015e5@9$3y4v7=979Z6w040F9y5E0J7`9+4p9-389v474}5F9?9V9A5P6D5r9d5V985Z5#a36Qa69/5-5/ab4J4L4h9h9T8@4o4^5R0`8r7 6/2O723W0!0$0(04.
.128013,n Ow5e(]3m=R0p)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050N0h0J0R0y0X0z0d0B0X0R0z0z0m010J0y0p010406050z0v0l0l0R0r0S040G0w0X0v0=0w0c0d020R0l0p0A0d0n0h0 0r0K0v0h0z050D0|0~10120`0p041q1x051A0D1A1C1x0`0N0y0I0*0,0.0:0s0y0O0s0X1Q0s0J0^050#0C0X0h1L0-0/011P1R1T1R0J1Z1#1X0J0C0w0N121Y0r1y0J0s0*150z0p0R0c0:0T011%1N010W0%0h0c1d0h1X2224291)2c1#2f0l2h040a0d0V0r0w0p0w0z0y181a0Z200r0r0h0B2C1q2j0c1y0D1~2O0J1|1{1}0N2l0:1T0c2e2z1X1I1K0+1(2Y0y2!0c1^1J1X0p2H1y2M2O2_0{231a2*2a2/0r0 0X0^0H2L2}0_2|2k2 1)31330^0T3724392M2X013e0R34040k3i2N0`3l3c0:3o3q0U3t3k2}3m3z0^0g3C3v3E3x3n0w323p0^0E3C1z2@1q2(2R0N2V3m0B1^2r0Y1J1y2?0h2^383T3$0Z3.3b1M1)0t0^0Z0W3T3w3^0:0f0^0d3~3L403n0W0^2n2S0h0L2-2B0y3p0h453@2+010@040i4k2~470c0^240c0v0$2H4r3m4o0b3C443 4m4u044f0=4i4B3M4o0q0P3J0d4U4G464I0^2H0|0X0#0J4F3a4s4m0w0^0m4)4H2a4o0M0x4T4V4*3m3`040W3O4:4X300^0p0h0r0z192!514l2a0w424K0c5b4+53044w4y0y4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0y3}5w2N5B5j3d5456580c5a5H3?5K0:4o0u4O470l0y0^0o5X4m4o0j5i3m4-040m4/5R5J3F5E0c4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0v4$0R4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0J0v0r5h6u6F4J4!684%3J1q3;3-3U6.0D3X1q0J3Z6?2T2P1@1_2R0R1!6:3X1w5S3m2H0l0L0W0R0t4d0s0k0^1i1k1m1o0d5 3/1D391x0e1a55170d0R0v0.0y0d2?0w0B0Q0Z0r0d2e200c0z2S0v0y0z240J0d0v2D0y2J0y596C7G2~0w1e0r0Q0s2e2A197G7Q056-5l5P5n2H0F2B1j0z0i0q6,3%040d1m7y2H0c0I0w0y1$1#0)3$0v0p8a447:0i0+0Q0b0d0I4i6Y7}0D7:0d0N0v8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0G0B0r0?7Q0V0S1~193T3,5S2`3/7:6T5D043|6I1)5f446p5T484a0%4c4e5^4M1#8/6r4q8?5?7;4x6C906G044E6#6O3n5@5_8 935}044R4_4U8+0:6V0!6Y6!2_5=9j0M984J6K6n985u6y65044x2q2w9E4m4}4 0r9K4=0^926N6q9e6k5N9B9i474D9P6j9H560w9C0^8q9u9o015e5@9$3y4v7=979Z6w040F9y5E0J7`9+4p9-389v474}5F9?9V9A5P6D5r9d5V985Z5#a36Qa69/5-5/ab4J4L4h9h9T8@4o4^5R0`8r7 6/2O723W0!0$0(04.
3. Filtrer par numéro
Écrire la fonction filtre_inverse qui prend en paramètres un annuaire (dict ) et un numéro de téléphone (str ) et renvoie le dictionnaire { nom : numéro } contenant toutes les personnes dont le numéro est celui cherché.
Exemples
>>> annuaire = {
... "Armand" : "01.17.58.88" ,
... "Arnaud" : "02.56.78.90" ,
... "Nicole" : "02.34.56.78" ,
... "Nolann" : "04.55.42.21" ,
... "Céline" : "02.34.56.78" ,
... }
>>> filtre_inverse ( annuaire , "01.17.58.88" )
{'Armand': '01.17.58.88'}
>>> filtre_inverse ( annuaire , "02.34.56.78" )
{'Nicole': '02.34.56.78', 'Céline': '02.34.56.78'}
>>> filtre_inverse ( annuaire , "03.43.69.47" )
{}
Version vide Version à compléter
.128013,n Ow5e(]3m=Rp)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050M0h0I0Q0x0W0y0d0A0W0Q0y0y0m010I0x0o010406050y0u0l0l0Q0q0R040F0v0W0u0;0v0c0d020Q0l0o0z0d0n0h0~0q0J0u0h0y050C0{0}0 110_0o041p1w051z0C1z1B1w0_0M0x0H0)0+0-0/0r0x0N0r0W1P0r0I0@050!0B0W0h1K0,0.011O1Q1S1Q0I1Y1!1W0I0B0v0M111X0q1x0I0r0)140y0o0Q0c0/0S011$1M010V0$0h0c1c0h1W2123281(2b1!2e0l2g040a0d0U0q0v0o0v0y0x17190Y1 0q0q0h0A2B1p2i0c1x0C1}2N0I1{1`1|0M2k0/1S0c2d2y1W1H1J0*1%2X0x2Z0c1@1I1W0o2G1x2L2N2^0`22192)292.0q0~0W0@0G2K2|0^2{2j2~1(30320@0S3623382L2W013d0Q33040k3h2M0_3k3b0/3n3p0T3s3j2|3l3y0@0g3B3u3D3w3m0v313o0@0D3B1y2?1p2%2Q0M2U3l0A1@2q0X1I1x2=0h2@373S3#0Y3-3a1L1(0s0@0Y0V3S3v3@0/0f0@0d3}3K3 3m0V0@2m2R0h0K2,0H0h0q0y0h443?2*010?040i4k2}460c0@230c0u0#2G4r3l4o0b3B433~4m4u044x0l4B3L4o0p0O3I0d4T4G454I0@2G0{0W0!0I4F394s4m0v0@0m4(4H294o0L0w4S4U4)3l3_040V3N4/4W2 0@0o4g0y182Z4N464D504l524K0|4g0v5c4*290v41042,5j3E4v0c4x4z4j1q3.4:1(4,040E594X5o0I1i1o5x3i4`4O0@0i4Q4^4U4_5z0/4|0x3|5K2M4V5d3c0@4L5h5q3L5B0m4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0u4#0Q4%5`5U4n0@0t5E5e544h575w2`6c4o0j5+465-6q5F5)2v5R5=4{4Y0Z0u0q0c6t5e66686a2^0_0C3:3,3T6O0C3W1p0I3Y6T2S2O1?1^2Q0Q1Z6Q3W1v3=5?0/2G0l0K0V0Q0s4c0r0k0@1h1j1l1n0d5~2`1C381w0e1954160d0Q0u0-0x0d2=0v0A0P0Y0q0d2d1 0c0y2R0u0x0y230I0d0u2C0x2I0x575v7l2}0v1d0q0P0r2d2z187l7v056N044w4y0x2G0E2A5I5P1p7R0d1l7d2G0c0H0v0x1#1!0(3#0u0o7:437R0i0*0P0b0d0H3o0h6C0p7#3$5;0M0u0d1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0F0A0q0=7v0U0R1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0I6C6E8@8L4;0@0L8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0q9m0/4o4q8T923m53556k8|0@8?2^8^4t5(5g6w9z6,8*849q8)5m0@5p9S9A4J7T5v8;5B5D9O5r5G5I9F4p9R9I993^9V5Y9:6c8`9M9p9^9T4-5/9}9Y9L5_6m8)4o4@5 853;6P2N6)3V0Z0#0%04.
.128013,n Ow5e(]3m=Rp)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050M0h0I0Q0x0W0y0d0A0W0Q0y0y0m010I0x0o010406050y0u0l0l0Q0q0R040F0v0W0u0;0v0c0d020Q0l0o0z0d0n0h0~0q0J0u0h0y050C0{0}0 110_0o041p1w051z0C1z1B1w0_0M0x0H0)0+0-0/0r0x0N0r0W1P0r0I0@050!0B0W0h1K0,0.011O1Q1S1Q0I1Y1!1W0I0B0v0M111X0q1x0I0r0)140y0o0Q0c0/0S011$1M010V0$0h0c1c0h1W2123281(2b1!2e0l2g040a0d0U0q0v0o0v0y0x17190Y1 0q0q0h0A2B1p2i0c1x0C1}2N0I1{1`1|0M2k0/1S0c2d2y1W1H1J0*1%2X0x2Z0c1@1I1W0o2G1x2L2N2^0`22192)292.0q0~0W0@0G2K2|0^2{2j2~1(30320@0S3623382L2W013d0Q33040k3h2M0_3k3b0/3n3p0T3s3j2|3l3y0@0g3B3u3D3w3m0v313o0@0D3B1y2?1p2%2Q0M2U3l0A1@2q0X1I1x2=0h2@373S3#0Y3-3a1L1(0s0@0Y0V3S3v3@0/0f0@0d3}3K3 3m0V0@2m2R0h0K2,0H0h0q0y0h443?2*010?040i4k2}460c0@230c0u0#2G4r3l4o0b3B433~4m4u044x0l4B3L4o0p0O3I0d4T4G454I0@2G0{0W0!0I4F394s4m0v0@0m4(4H294o0L0w4S4U4)3l3_040V3N4/4W2 0@0o4g0y182Z4N464D504l524K0|4g0v5c4*290v41042,5j3E4v0c4x4z4j1q3.4:1(4,040E594X5o0I1i1o5x3i4`4O0@0i4Q4^4U4_5z0/4|0x3|5K2M4V5d3c0@4L5h5q3L5B0m4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0u4#0Q4%5`5U4n0@0t5E5e544h575w2`6c4o0j5+465-6q5F5)2v5R5=4{4Y0Z0u0q0c6t5e66686a2^0_0C3:3,3T6O0C3W1p0I3Y6T2S2O1?1^2Q0Q1Z6Q3W1v3=5?0/2G0l0K0V0Q0s4c0r0k0@1h1j1l1n0d5~2`1C381w0e1954160d0Q0u0-0x0d2=0v0A0P0Y0q0d2d1 0c0y2R0u0x0y230I0d0u2C0x2I0x575v7l2}0v1d0q0P0r2d2z187l7v056N044w4y0x2G0E2A5I5P1p7R0d1l7d2G0c0H0v0x1#1!0(3#0u0o7:437R0i0*0P0b0d0H3o0h6C0p7#3$5;0M0u0d1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0F0A0q0=7v0U0R1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0I6C6E8@8L4;0@0L8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0q9m0/4o4q8T923m53556k8|0@8?2^8^4t5(5g6w9z6,8*849q8)5m0@5p9S9A4J7T5v8;5B5D9O5r5G5I9F4p9R9I993^9V5Y9:6c8`9M9p9^9T4-5/9}9Y9L5_6m8)4o4@5 853;6P2N6)3V0Z0#0%04.
4. Filtrer par région
En France, les numéros de téléphones fixes débutent par un code de région qui indique la région de résidence de l'abonné : "01" , "02" , "03" , "04" ou "05" .
Écrire la fonction filtre_region qui prend en paramètres un annuaire (dict ) et un code de région (str ) et renvoie le dictionnaire { nom : numéro } donnant le numéro de toutes les personnes dont le numéro débute par le code de région cherché.
Exemples
>>> annuaire = {
... "Armand" : "01.17.58.88" ,
... "Arnaud" : "02.56.78.90" ,
... "Nicole" : "02.34.56.78" ,
... "Nolann" : "04.55.42.21" ,
... "Céline" : "02.34.56.78" ,
... }
>>> filtre_region ( annuaire , "01" )
{'Armand': '01.17.58.88'}
>>> filtre_region ( annuaire , "02" )
{'Arnaud': '02.56.78.90', 'Nicole': '02.34.56.78', 'Céline': '02.34.56.78'}
Version vide Version à compléter
.128013,n Ow5e(]3m=Rp)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050M0h0I0Q0x0W0y0d0A0W0Q0y0y0m010I0x0o010406050y0u0l0l0Q0q0R040F0v0W0u0;0v0c0d020Q0l0o0z0d0n0h0~0q0J0u0h0y050C0{0}0 110_0o041p1w051z0C1z1B1w0_0M0x0H0)0+0-0/0r0x0N0r0W1P0r0I0@050!0B0W0h1K0,0.011O1Q1S1Q0I1Y1!1W0I0B0v0M111X0q1x0I0r0)140y0o0Q0c0/0S011$1M010V0$0h0c1c0h1W2123281(2b1!2e0l2g040a0d0U0q0v0o0v0y0x17190Y1 0q0q0h0A2B1p2i0c1x0C1}2N0I1{1`1|0M2k0/1S0c2d2y1W1H1J0*1%2X0x2Z0c1@1I1W0o2G1x2L2N2^0`22192)292.0q0~0W0@0G2K2|0^2{2j2~1(30320@0S3623382L2W013d0Q33040k3h2M0_3k3b0/3n3p0T3s3j2|3l3y0@0g3B3u3D3w3m0v313o0@0D3B1y2?1p2%2Q0M2U3l0A1@2q0X1I1x2=0h2@373S3#0Y3-3a1L1(0s0@0Y0V3S3v3@0/0f0@0d3}3K3 3m0V0@2m2R0h0K2G0N0x18443?2*010?040i4i2}460c0@230c0u0#2G4p3l4m0b3B433~4k4s044e4g0c4z3L4m0p0O3I0d4S4E454G0@2G0{0W0!0I4D394q4k0v0@0m4%4F294m0L0w4R4T4(3l3_040V3N4.4V2 0@0o0h0q0y182Z4M464B4 4j51044v2p2v5c4)290v41042,5j3E4t0c4v4x0h594*0@0E5x5e2A1i1o1q3.4/1(4m0i4P4@4T4^5I0/4{0x3|5G3i4U5d3c0@5g540v5B5J0@0t5(0/0l0x345,4l0@0j5q3L4+040m4-5V2M5X5k5Z4I0h4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040j4Q67065O6q5P50624Y0u4!0Q4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0I0u0q4L676Z4r4X1n6w4#3I1p3:3,3T6^0C3W1p0I3Y6}2S2O1?1^2Q0Q1Z6`3W1v683l2G0l0K0V0Q0s4c0r0k0@1h1j1l1n0d6n2`1C381w0e1953160d0Q0u0-0x0d2=0v0A0P0Y0q0d2d1 0c0y2R0u0x0y230I0d0u2C0x2I4K2e0x2G7N2}0v1d0q0P0r2d2z187N7X056@044u4w7)0h0E5D0l0y5L6?3$040d1l7F2G0c0H0v0x1#1!0(3#0u0o8i437{0i0*0P0b0d0H3o0h6(0p863;0d0M0u8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0F0A0q0=7X0U0R1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0q6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0I5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0j4?6o8A6`8.3V3)0_6{0Z0#0%04.
.128013,n Ow5e(]3m=Rp)rhk[uo}is;cb/6.S1vtq_{dg:éay24Pfl050M0h0I0Q0x0W0y0d0A0W0Q0y0y0m010I0x0o010406050y0u0l0l0Q0q0R040F0v0W0u0;0v0c0d020Q0l0o0z0d0n0h0~0q0J0u0h0y050C0{0}0 110_0o041p1w051z0C1z1B1w0_0M0x0H0)0+0-0/0r0x0N0r0W1P0r0I0@050!0B0W0h1K0,0.011O1Q1S1Q0I1Y1!1W0I0B0v0M111X0q1x0I0r0)140y0o0Q0c0/0S011$1M010V0$0h0c1c0h1W2123281(2b1!2e0l2g040a0d0U0q0v0o0v0y0x17190Y1 0q0q0h0A2B1p2i0c1x0C1}2N0I1{1`1|0M2k0/1S0c2d2y1W1H1J0*1%2X0x2Z0c1@1I1W0o2G1x2L2N2^0`22192)292.0q0~0W0@0G2K2|0^2{2j2~1(30320@0S3623382L2W013d0Q33040k3h2M0_3k3b0/3n3p0T3s3j2|3l3y0@0g3B3u3D3w3m0v313o0@0D3B1y2?1p2%2Q0M2U3l0A1@2q0X1I1x2=0h2@373S3#0Y3-3a1L1(0s0@0Y0V3S3v3@0/0f0@0d3}3K3 3m0V0@2m2R0h0K2G0N0x18443?2*010?040i4i2}460c0@230c0u0#2G4p3l4m0b3B433~4k4s044e4g0c4z3L4m0p0O3I0d4S4E454G0@2G0{0W0!0I4D394q4k0v0@0m4%4F294m0L0w4R4T4(3l3_040V3N4.4V2 0@0o0h0q0y182Z4M464B4 4j51044v2p2v5c4)290v41042,5j3E4t0c4v4x0h594*0@0E5x5e2A1i1o1q3.4/1(4m0i4P4@4T4^5I0/4{0x3|5G3i4U5d3c0@5g540v5B5J0@0t5(0/0l0x345,4l0@0j5q3L4+040m4-5V2M5X5k5Z4I0h4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040j4Q67065O6q5P50624Y0u4!0Q4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0I0u0q4L676Z4r4X1n6w4#3I1p3:3,3T6^0C3W1p0I3Y6}2S2O1?1^2Q0Q1Z6`3W1v683l2G0l0K0V0Q0s4c0r0k0@1h1j1l1n0d6n2`1C381w0e1953160d0Q0u0-0x0d2=0v0A0P0Y0q0d2d1 0c0y2R0u0x0y230I0d0u2C0x2I4K2e0x2G7N2}0v1d0q0P0r2d2z187N7X056@044u4w7)0h0E5D0l0y5L6?3$040d1l7F2G0c0H0v0x1#1!0(3#0u0o8i437{0i0*0P0b0d0H3o0h6(0p863;0d0M0u8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0F0A0q0=7X0U0R1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0q6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0I5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0j4?6o8A6`8.3V3)0_6{0Z0#0%04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)