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,:Cag)R1ikn}/àSé=v{msuhb.O4;ye[2odt c(w]r5_P3qplf050I0E0J0e0j0W0v0K0L0W0e0v0v0r010J0j0V010406050v0w0u0u0e0P0D040p0H0W0w0=0H0l0K020e0u0V0C0K0h0E0 0P0U0w0E0v050n0|0~10120`0V041q1x051A0n1A1C1x0`0I0j0s0*0,0.0:0x0j0f0x0W1Q0x0J0^050#0y0W0E1L0-0/011P1R1T1R0J1Z1#1X0J0y0H0I121Y0P1y0J0x0*150v0V0e0l0:0G011%1N010X0%0E0l1d0E1X2224291)2c1#2f0u2h040a0K0S0P0H0V0H0v0j181a0Z200P0P0E0L2C1q2j0l1y0n1~2O0J1|1{1}0I2l0:1T0l2e2z1X1I1K0+1(2Y0j2!0l1^1J1X0V2H1y2M2O2_0{231a2*2a2/0P0 0W0^0i2L2}0_2|2k2 1)31330^0G3724392M2X013e0e34040T3i2N0`3l3c0:3o3q0B3t3k2}3m3z0^0Q3C1z2@1q2(2R0I2V3m0L1^2r0Y1J1y2?0E2^383J3S0Z3!3b1M1)0k0^0Z0X3J3w3+0:0N0^0K3;3E3x3n0X0^2n2S0E0R2/0u3{3*2+010@040M472~3?3n0^240l0w0$2H4e3m4b0b3C3`3=490l0^454o3}4b0g0c3C060K4G4t3|4g3-040j3:1r384I48304x0H464P3j4R4f490H3^4M0l4s3a4!4T044j4l0j4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0J0w0P4)4|504A0^0t4z4g4w044y4|4^5a044{2_595e4i0l4k4m0E5d494b0F5v4-5h2{4u2a4b0O0m4E4~5j4K0^0E0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0n3%3Z3K5=0n3N1q0J3P5`2T2P1@1_2R0e1!5@3N1w3)4,1)2H0u0R0X0e0k430x0T0^1i1k1m1o0K5U3j1z391x0d0!0J1$0e0V2y0L0x1$1o0J0K0q1m1J3p2e6x0K0o0*5N1#200l2A0v0#0l6G6P6e4;1$0w1a230P3S550)0!0K6(1$0v0H0P0=6y6Y0j0L0?0q0E0z0K0A1a170%0j0v1$055;4.5r4:2H0z2B1j0v0M0g1q7b0K6J0K2H0l0s0H0j1$1#0)6,0V7x3`7b0M0+0q0b0K0s6L557l5:3T040K0I0w7Q6|2C2f6$0z6s1H1J3m1+1S1U1W683m2n2e2g0^2t0p0L0P0?6G0S0D1~193J3Y682`3#7b5*3,3.0E4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0X6@8A8f8o4c8x4h040V0E0P6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0H0^7Y8r8 5f7h0u1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040r0r9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0H8?0^5-2_5W9j8S8N0^535%9!8T0t9+5V7m7O5?2O661B04730K8Y170K0e0w0.0ja42w0L0q0Z0P0K2e6T6W0P0w77246G6(7T2J0j9t5tai2~4V2?0q6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0x7}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%0v04.
.128013,:Cag)R1ikn}/àSé=v{msuhb.O4;ye[2odt c(w]r5_P3qplf050I0E0J0e0j0W0v0K0L0W0e0v0v0r010J0j0V010406050v0w0u0u0e0P0D040p0H0W0w0=0H0l0K020e0u0V0C0K0h0E0 0P0U0w0E0v050n0|0~10120`0V041q1x051A0n1A1C1x0`0I0j0s0*0,0.0:0x0j0f0x0W1Q0x0J0^050#0y0W0E1L0-0/011P1R1T1R0J1Z1#1X0J0y0H0I121Y0P1y0J0x0*150v0V0e0l0:0G011%1N010X0%0E0l1d0E1X2224291)2c1#2f0u2h040a0K0S0P0H0V0H0v0j181a0Z200P0P0E0L2C1q2j0l1y0n1~2O0J1|1{1}0I2l0:1T0l2e2z1X1I1K0+1(2Y0j2!0l1^1J1X0V2H1y2M2O2_0{231a2*2a2/0P0 0W0^0i2L2}0_2|2k2 1)31330^0G3724392M2X013e0e34040T3i2N0`3l3c0:3o3q0B3t3k2}3m3z0^0Q3C1z2@1q2(2R0I2V3m0L1^2r0Y1J1y2?0E2^383J3S0Z3!3b1M1)0k0^0Z0X3J3w3+0:0N0^0K3;3E3x3n0X0^2n2S0E0R2/0u3{3*2+010@040M472~3?3n0^240l0w0$2H4e3m4b0b3C3`3=490l0^454o3}4b0g0c3C060K4G4t3|4g3-040j3:1r384I48304x0H464P3j4R4f490H3^4M0l4s3a4!4T044j4l0j4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0J0w0P4)4|504A0^0t4z4g4w044y4|4^5a044{2_595e4i0l4k4m0E5d494b0F5v4-5h2{4u2a4b0O0m4E4~5j4K0^0E0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0n3%3Z3K5=0n3N1q0J3P5`2T2P1@1_2R0e1!5@3N1w3)4,1)2H0u0R0X0e0k430x0T0^1i1k1m1o0K5U3j1z391x0d0!0J1$0e0V2y0L0x1$1o0J0K0q1m1J3p2e6x0K0o0*5N1#200l2A0v0#0l6G6P6e4;1$0w1a230P3S550)0!0K6(1$0v0H0P0=6y6Y0j0L0?0q0E0z0K0A1a170%0j0v1$055;4.5r4:2H0z2B1j0v0M0g1q7b0K6J0K2H0l0s0H0j1$1#0)6,0V7x3`7b0M0+0q0b0K0s6L557l5:3T040K0I0w7Q6|2C2f6$0z6s1H1J3m1+1S1U1W683m2n2e2g0^2t0p0L0P0?6G0S0D1~193J3Y682`3#7b5*3,3.0E4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0X6@8A8f8o4c8x4h040V0E0P6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0H0^7Y8r8 5f7h0u1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040r0r9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0H8?0^5-2_5W9j8S8N0^535%9!8T0t9+5V7m7O5?2O661B04730K8Y170K0e0w0.0ja42w0L0q0Z0P0K2e6T6W0P0w77246G6(7T2J0j9t5tai2~4V2?0q6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0x7}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%0v04.
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,:ag)R1ikn}/Sé=v{msuhbO.4;ye[62odt c0(w]r5_P3qplf050H0C0I0d0i0W0t0J0K0W0d0t0t0p010I0i0V010406050t0u0s0s0d0P0B040n0G0W0u0=0G0k0J020d0s0V0A0J0g0C0 0P0U0u0C0t050m0|0~10120`0V041q1x051A0m1A1C1x0`0H0i0q0*0,0.0:0v0i0e0v0W1Q0v0I0^050#0w0W0C1L0-0/011P1R1T1R0I1Z1#1X0I0w0G0H121Y0P1y0I0v0*150t0V0d0k0:0F011%1N010X0%0C0k1d0C1X2224291)2c1#2f0s2h040a0J0S0P0G0V0G0t0i181a0Z200P0P0C0K2C1q2j0k1y0m1~2O0I1|1{1}0H2l0:1T0k2e2z1X1I1K0+1(2Y0i2!0k1^1J1X0V2H1y2M2O2_0{231a2*2a2/0P0 0W0^0h2L2}0_2|2k2 1)31330^0F3724392M2X013e0d34040T3i2N0`3l3c0:3o3q0z3t3k2}3m3z0^0Q3C3v3E3x3n0G323p0^0E3C1z2@1q2(2R0H2V3m0K1^2r0Y1J1y2?0C2^383T3$0Z3.3b1M1)0j0^0Z0X3T3w3^0:0N0^0J3~3L403n0X0^2n2S0C0R2-2B0i3p0C453@2+010@040M4k2~470k0^240k0u0$2H4r3m4o0b3C443 4m4u044f0=4i4B3M4o0f0c3J0J4U4G464I0^2H0|0W0#0I4F3a4s4m0G0^0p4)4H2a4o0r0l4T4V4*3m3`040X3O4:4X300^0V0C0P0t192!514l2a0G424K0k5b4+53044w4y0i4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0i3}5w2N5B5j3d5456580k5a5H3?5K0:4o0D4O470s0i0^0L5X4m4o0O5i3m4-040p4/5R5J3F5E0k4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0u4$0d4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0I0u0P5h6u6F4J4!684%3J1q3;3-3U6.0m3X1q0I3Z6?2T2P1@1_2R0d1!6:3X1w5S3m2H0s0R0X0d0j4d0v0T0^1i1k1m1o0J5 3/1D391x0x1a55170J0d0u0.0i0J2?0G0K0o0Z0P0J2e200k0t2S0u0i0t240I0J0u2D0i2J0i596C7G2~0G1e0P0o0v2e2A197G7Q056-5l5P5n2H0y2B1j0t0M0f6,3%040J1m7y2H0k0q0G0i1$1#0)3$0u0V8a447:0M0+0o0b0J0q4i6Y7}0m7:0J0H0u8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0n0K0P0?7Q0S0B1~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=9j0r984J6K6n985u6y65044x2q2w9E4m4}4 0P9K4=0^926N6q9e6k5N9B9i474D9P6j9H560G9C0^8q9u9o015e5@9$3y4v7=979Z6w040y9y5E0I7`9+4p9-389v474}5F9?9V9A5P6D5r9d5V985Z5#a36Qa69/5-5/ab4J4L4h9h9T8@4o4^5R0`8r7 6/2O723W0!0$0(04.
.128013,:ag)R1ikn}/Sé=v{msuhbO.4;ye[62odt c0(w]r5_P3qplf050H0C0I0d0i0W0t0J0K0W0d0t0t0p010I0i0V010406050t0u0s0s0d0P0B040n0G0W0u0=0G0k0J020d0s0V0A0J0g0C0 0P0U0u0C0t050m0|0~10120`0V041q1x051A0m1A1C1x0`0H0i0q0*0,0.0:0v0i0e0v0W1Q0v0I0^050#0w0W0C1L0-0/011P1R1T1R0I1Z1#1X0I0w0G0H121Y0P1y0I0v0*150t0V0d0k0:0F011%1N010X0%0C0k1d0C1X2224291)2c1#2f0s2h040a0J0S0P0G0V0G0t0i181a0Z200P0P0C0K2C1q2j0k1y0m1~2O0I1|1{1}0H2l0:1T0k2e2z1X1I1K0+1(2Y0i2!0k1^1J1X0V2H1y2M2O2_0{231a2*2a2/0P0 0W0^0h2L2}0_2|2k2 1)31330^0F3724392M2X013e0d34040T3i2N0`3l3c0:3o3q0z3t3k2}3m3z0^0Q3C3v3E3x3n0G323p0^0E3C1z2@1q2(2R0H2V3m0K1^2r0Y1J1y2?0C2^383T3$0Z3.3b1M1)0j0^0Z0X3T3w3^0:0N0^0J3~3L403n0X0^2n2S0C0R2-2B0i3p0C453@2+010@040M4k2~470k0^240k0u0$2H4r3m4o0b3C443 4m4u044f0=4i4B3M4o0f0c3J0J4U4G464I0^2H0|0W0#0I4F3a4s4m0G0^0p4)4H2a4o0r0l4T4V4*3m3`040X3O4:4X300^0V0C0P0t192!514l2a0G424K0k5b4+53044w4y0i4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0i3}5w2N5B5j3d5456580k5a5H3?5K0:4o0D4O470s0i0^0L5X4m4o0O5i3m4-040p4/5R5J3F5E0k4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0u4$0d4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0I0u0P5h6u6F4J4!684%3J1q3;3-3U6.0m3X1q0I3Z6?2T2P1@1_2R0d1!6:3X1w5S3m2H0s0R0X0d0j4d0v0T0^1i1k1m1o0J5 3/1D391x0x1a55170J0d0u0.0i0J2?0G0K0o0Z0P0J2e200k0t2S0u0i0t240I0J0u2D0i2J0i596C7G2~0G1e0P0o0v2e2A197G7Q056-5l5P5n2H0y2B1j0t0M0f6,3%040J1m7y2H0k0q0G0i1$1#0)3$0u0V8a447:0M0+0o0b0J0q4i6Y7}0m7:0J0H0u8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0n0K0P0?7Q0S0B1~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=9j0r984J6K6n985u6y65044x2q2w9E4m4}4 0P9K4=0^926N6q9e6k5N9B9i474D9P6j9H560G9C0^8q9u9o015e5@9$3y4v7=979Z6w040y9y5E0I7`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,:ag)R1ikn}/Sé=v{msuhb.O4;ye[62odt c(w]r5_P3qplf050H0C0I0d0i0V0t0J0K0V0d0t0t0p010I0i0U010406050t0u0s0s0d0O0B040n0G0V0u0;0G0k0J020d0s0U0A0J0g0C0~0O0T0u0C0t050m0{0}0 110_0U041p1w051z0m1z1B1w0_0H0i0q0)0+0-0/0v0i0e0v0V1P0v0I0@050!0w0V0C1K0,0.011O1Q1S1Q0I1Y1!1W0I0w0G0H111X0O1x0I0v0)140t0U0d0k0/0F011$1M010W0$0C0k1c0C1W2123281(2b1!2e0s2g040a0J0R0O0G0U0G0t0i17190Y1 0O0O0C0K2B1p2i0k1x0m1}2N0I1{1`1|0H2k0/1S0k2d2y1W1H1J0*1%2X0i2Z0k1@1I1W0U2G1x2L2N2^0`22192)292.0O0~0V0@0h2K2|0^2{2j2~1(30320@0F3623382L2W013d0d33040S3h2M0_3k3b0/3n3p0z3s3j2|3l3y0@0P3B3u3D3w3m0G313o0@0E3B1y2?1p2%2Q0H2U3l0K1@2q0X1I1x2=0C2@373S3#0Y3-3a1L1(0j0@0Y0W3S3v3@0/0M0@0J3}3K3 3m0W0@2m2R0C0Q2,0q0C0O0t0C443?2*010?040L4k2}460k0@230k0u0#2G4r3l4o0b3B433~4m4u044x0s4B3L4o0f0c3I0J4T4G454I0@2G0{0V0!0I4F394s4m0G0@0p4(4H294o0r0l4S4U4)3l3_040W3N4/4W2 0@0U4g0t182Z4N464D504l524K0|4g0G5c4*290G41042,5j3E4v0k4x4z4j1q3.4:1(4,040x594X5o0I1i1o5x3i4`4O0@0L4Q4^4U4_5z0/4|0i3|5K2M4V5d3c0@4L5h5q3L5B0p4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0u4#0d4%5`5U4n0@0D5E5e544h575w2`6c4o0N5+465-6q5F5)2v5R5=4{4Y0Z0u0O0k6t5e66686a2^0_0m3:3,3T6O0m3W1p0I3Y6T2S2O1?1^2Q0d1Z6Q3W1v3=5?0/2G0s0Q0W0d0j4c0v0S0@1h1j1l1n0J5~2`1C381w0y1954160J0d0u0-0i0J2=0G0K0o0Y0O0J2d1 0k0t2R0u0i0t230I0J0u2C0i2I0i575v7l2}0G1d0O0o0v2d2z187l7v056N044w4y0i2G0x2A5I5P1p7R0J1l7d2G0k0q0G0i1#1!0(3#0u0U7:437R0L0*0o0b0J0q3o0C6C0f7#3$5;0H0u0J1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0n0K0O0=7v0R0B1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0I6C6E8@8L4;0@0r8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0O9m0/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,:ag)R1ikn}/Sé=v{msuhb.O4;ye[62odt c(w]r5_P3qplf050H0C0I0d0i0V0t0J0K0V0d0t0t0p010I0i0U010406050t0u0s0s0d0O0B040n0G0V0u0;0G0k0J020d0s0U0A0J0g0C0~0O0T0u0C0t050m0{0}0 110_0U041p1w051z0m1z1B1w0_0H0i0q0)0+0-0/0v0i0e0v0V1P0v0I0@050!0w0V0C1K0,0.011O1Q1S1Q0I1Y1!1W0I0w0G0H111X0O1x0I0v0)140t0U0d0k0/0F011$1M010W0$0C0k1c0C1W2123281(2b1!2e0s2g040a0J0R0O0G0U0G0t0i17190Y1 0O0O0C0K2B1p2i0k1x0m1}2N0I1{1`1|0H2k0/1S0k2d2y1W1H1J0*1%2X0i2Z0k1@1I1W0U2G1x2L2N2^0`22192)292.0O0~0V0@0h2K2|0^2{2j2~1(30320@0F3623382L2W013d0d33040S3h2M0_3k3b0/3n3p0z3s3j2|3l3y0@0P3B3u3D3w3m0G313o0@0E3B1y2?1p2%2Q0H2U3l0K1@2q0X1I1x2=0C2@373S3#0Y3-3a1L1(0j0@0Y0W3S3v3@0/0M0@0J3}3K3 3m0W0@2m2R0C0Q2,0q0C0O0t0C443?2*010?040L4k2}460k0@230k0u0#2G4r3l4o0b3B433~4m4u044x0s4B3L4o0f0c3I0J4T4G454I0@2G0{0V0!0I4F394s4m0G0@0p4(4H294o0r0l4S4U4)3l3_040W3N4/4W2 0@0U4g0t182Z4N464D504l524K0|4g0G5c4*290G41042,5j3E4v0k4x4z4j1q3.4:1(4,040x594X5o0I1i1o5x3i4`4O0@0L4Q4^4U4_5z0/4|0i3|5K2M4V5d3c0@4L5h5q3L5B0p4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0u4#0d4%5`5U4n0@0D5E5e544h575w2`6c4o0N5+465-6q5F5)2v5R5=4{4Y0Z0u0O0k6t5e66686a2^0_0m3:3,3T6O0m3W1p0I3Y6T2S2O1?1^2Q0d1Z6Q3W1v3=5?0/2G0s0Q0W0d0j4c0v0S0@1h1j1l1n0J5~2`1C381w0y1954160J0d0u0-0i0J2=0G0K0o0Y0O0J2d1 0k0t2R0u0i0t230I0J0u2C0i2I0i575v7l2}0G1d0O0o0v2d2z187l7v056N044w4y0i2G0x2A5I5P1p7R0J1l7d2G0k0q0G0i1#1!0(3#0u0U7:437R0L0*0o0b0J0q3o0C6C0f7#3$5;0H0u0J1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0n0K0O0=7v0R0B1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0I6C6E8@8L4;0@0r8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0O9m0/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,:ag)R1ikn}/Sé=v{msuhb.O4;ye[62odt c(w]r5_P3qplf050H0C0I0d0i0V0t0J0K0V0d0t0t0p010I0i0U010406050t0u0s0s0d0O0B040n0G0V0u0;0G0k0J020d0s0U0A0J0g0C0~0O0T0u0C0t050m0{0}0 110_0U041p1w051z0m1z1B1w0_0H0i0q0)0+0-0/0v0i0e0v0V1P0v0I0@050!0w0V0C1K0,0.011O1Q1S1Q0I1Y1!1W0I0w0G0H111X0O1x0I0v0)140t0U0d0k0/0F011$1M010W0$0C0k1c0C1W2123281(2b1!2e0s2g040a0J0R0O0G0U0G0t0i17190Y1 0O0O0C0K2B1p2i0k1x0m1}2N0I1{1`1|0H2k0/1S0k2d2y1W1H1J0*1%2X0i2Z0k1@1I1W0U2G1x2L2N2^0`22192)292.0O0~0V0@0h2K2|0^2{2j2~1(30320@0F3623382L2W013d0d33040S3h2M0_3k3b0/3n3p0z3s3j2|3l3y0@0P3B3u3D3w3m0G313o0@0E3B1y2?1p2%2Q0H2U3l0K1@2q0X1I1x2=0C2@373S3#0Y3-3a1L1(0j0@0Y0W3S3v3@0/0M0@0J3}3K3 3m0W0@2m2R0C0Q2G0e0i18443?2*010?040L4i2}460k0@230k0u0#2G4p3l4m0b3B433~4k4s044e4g0k4z3L4m0f0c3I0J4S4E454G0@2G0{0V0!0I4D394q4k0G0@0p4%4F294m0r0l4R4T4(3l3_040W3N4.4V2 0@0U0C0O0t182Z4M464B4 4j51044v2p2v5c4)290G41042,5j3E4t0k4v4x0C594*0@0x5x5e2A1i1o1q3.4/1(4m0L4P4@4T4^5I0/4{0i3|5G3i4U5d3c0@5g540G5B5J0@0D5(0/0s0i345,4l0@0N5q3L4+040p4-5V2M5X5k5Z4I0C4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040N4Q67065O6q5P50624Y0u4!0d4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0I0u0O4L676Z4r4X1n6w4#3I1p3:3,3T6^0m3W1p0I3Y6}2S2O1?1^2Q0d1Z6`3W1v683l2G0s0Q0W0d0j4c0v0S0@1h1j1l1n0J6n2`1C381w0y1953160J0d0u0-0i0J2=0G0K0o0Y0O0J2d1 0k0t2R0u0i0t230I0J0u2C0i2I4K2e0i2G7N2}0G1d0O0o0v2d2z187N7X056@044u4w7)0C0x5D0s0t5L6?3$040J1l7F2G0k0q0G0i1#1!0(3#0u0U8i437{0L0*0o0b0J0q3o0C6(0f863;0J0H0u8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0n0K0O0=7X0R0B1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0O6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0I5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0N4?6o8A6`8.3V3)0_6{0Z0#0%04.
.128013,:ag)R1ikn}/Sé=v{msuhb.O4;ye[62odt c(w]r5_P3qplf050H0C0I0d0i0V0t0J0K0V0d0t0t0p010I0i0U010406050t0u0s0s0d0O0B040n0G0V0u0;0G0k0J020d0s0U0A0J0g0C0~0O0T0u0C0t050m0{0}0 110_0U041p1w051z0m1z1B1w0_0H0i0q0)0+0-0/0v0i0e0v0V1P0v0I0@050!0w0V0C1K0,0.011O1Q1S1Q0I1Y1!1W0I0w0G0H111X0O1x0I0v0)140t0U0d0k0/0F011$1M010W0$0C0k1c0C1W2123281(2b1!2e0s2g040a0J0R0O0G0U0G0t0i17190Y1 0O0O0C0K2B1p2i0k1x0m1}2N0I1{1`1|0H2k0/1S0k2d2y1W1H1J0*1%2X0i2Z0k1@1I1W0U2G1x2L2N2^0`22192)292.0O0~0V0@0h2K2|0^2{2j2~1(30320@0F3623382L2W013d0d33040S3h2M0_3k3b0/3n3p0z3s3j2|3l3y0@0P3B3u3D3w3m0G313o0@0E3B1y2?1p2%2Q0H2U3l0K1@2q0X1I1x2=0C2@373S3#0Y3-3a1L1(0j0@0Y0W3S3v3@0/0M0@0J3}3K3 3m0W0@2m2R0C0Q2G0e0i18443?2*010?040L4i2}460k0@230k0u0#2G4p3l4m0b3B433~4k4s044e4g0k4z3L4m0f0c3I0J4S4E454G0@2G0{0V0!0I4D394q4k0G0@0p4%4F294m0r0l4R4T4(3l3_040W3N4.4V2 0@0U0C0O0t182Z4M464B4 4j51044v2p2v5c4)290G41042,5j3E4t0k4v4x0C594*0@0x5x5e2A1i1o1q3.4/1(4m0L4P4@4T4^5I0/4{0i3|5G3i4U5d3c0@5g540G5B5J0@0D5(0/0s0i345,4l0@0N5q3L4+040p4-5V2M5X5k5Z4I0C4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040N4Q67065O6q5P50624Y0u4!0d4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0I0u0O4L676Z4r4X1n6w4#3I1p3:3,3T6^0m3W1p0I3Y6}2S2O1?1^2Q0d1Z6`3W1v683l2G0s0Q0W0d0j4c0v0S0@1h1j1l1n0J6n2`1C381w0y1953160J0d0u0-0i0J2=0G0K0o0Y0O0J2d1 0k0t2R0u0i0t230I0J0u2C0i2I4K2e0i2G7N2}0G1d0O0o0v2d2z187N7X056@044u4w7)0C0x5D0s0t5L6?3$040J1l7F2G0k0q0G0i1#1!0(3#0u0U8i437{0L0*0o0b0J0q3o0C6(0f863;0J0H0u8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0n0K0O0=7X0R0B1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0O6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0I5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0N4?6o8A6`8.3V3)0_6{0Z0#0%04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)