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
.128013bàuS[,3_4l.(wn/R)pOaPké;:horCs1vc25qmgyd]i{e}ft =050O0S0V0u0Q0k0E0W0H0k0u0E0E0X010V0Q0s010406050E0d0L0L0u0C0N040e0B0k0d0=0B0o0W020u0L0s0y0W0q0S0 0C0K0d0S0E050p0|0~10120`0s041q1x051A0p1A1C1x0`0O0Q0G0*0,0.0:0A0Q0M0A0k1Q0A0V0^050#0b0k0S1L0-0/011P1R1T1R0V1Z1#1X0V0b0B0O121Y0C1y0V0A0*150E0s0u0o0:0I011%1N010U0%0S0o1d0S1X2224291)2c1#2f0L2h040a0W0v0C0B0s0B0E0Q181a0Z200C0C0S0H2C1q2j0o1y0p1~2O0V1|1{1}0O2l0:1T0o2e2z1X1I1K0+1(2Y0Q2!0o1^1J1X0s2H1y2M2O2_0{231a2*2a2/0C0 0k0^0F2L2}0_2|2k2 1)31330^0I3724392M2X013e0u34040h3i2N0`3l3c0:3o3q0j3t3k2}3m3z0^0J3C1z2@1q2(2R0O2V3m0H1^2r0Y1J1y2?0S2^383J3S0Z3!3b1M1)0w0^0Z0U3J3w3+0:0n0^0W3;3E3x3n0U0^2n2S0S0i2/0L3{3*2+010@040m472~3?3n0^240o0d0$2H4e3m4b0g3C3`3=490o0^454o3}4b0r0z3C060W4G4t3|4g3-040Q3:1r384I48304x0B464P3j4R4f490B3^4M0o4s3a4!4T044j4l0Q4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0V0d0C4)4|504A0^0R4z4g4w044y4|4^5a044{2_595e4i0o4k4m0S5d494b0f5v4-5h2{4u2a4b0P0T4E4~5j4K0^0S0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0p3%3Z3K5=0p3N1q0V3P5`2T2P1@1_2R0u1!5@3N1w3)4,1)2H0L0i0U0u0w430A0h0^1i1k1m1o0W5U3j1z391x0D0!0V1$0u0s2y0H0A1$1o0V0W0x1m1J3p2e6x0W0c0*5N1#200o2A0E0#0o6G6P6e4;1$0d1a230C3S550)0!0W6(1$0E0B0C0=6y6Y0Q0H0?0x0S0l0W0t1a170%0Q0E1$055;4.5r4:2H0l2B1j0E0m0r1q7b0W6J0W2H0o0G0B0Q1$1#0)6,0s7x3`7b0m0+0x0g0W0G6L557l5:3T040W0O0d7Q6|2C2f6$0l6s1H1J3m1+1S1U1W683m2n2e2g0^2t0e0H0C0?6G0v0N1~193J3Y682`3#7b5*3,3.0S4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0U6@8A8f8o4c8x4h040s0S0C6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0B0^7Y8r8 5f7h0L1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040X0X9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0B8?0^5-2_5W9j8S8N0^535%9!8T0R9+5V7m7O5?2O661B04730W8Y170W0u0d0.0Qa42w0H0x0Z0C0W2e6T6W0C0d77246G6(7T2J0Q9t5tai2~4V2?0x6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0A7}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%0E04.
.128013bàuS[,3_4l.(wn/R)pOaPké;:horCs1vc25qmgyd]i{e}ft =050O0S0V0u0Q0k0E0W0H0k0u0E0E0X010V0Q0s010406050E0d0L0L0u0C0N040e0B0k0d0=0B0o0W020u0L0s0y0W0q0S0 0C0K0d0S0E050p0|0~10120`0s041q1x051A0p1A1C1x0`0O0Q0G0*0,0.0:0A0Q0M0A0k1Q0A0V0^050#0b0k0S1L0-0/011P1R1T1R0V1Z1#1X0V0b0B0O121Y0C1y0V0A0*150E0s0u0o0:0I011%1N010U0%0S0o1d0S1X2224291)2c1#2f0L2h040a0W0v0C0B0s0B0E0Q181a0Z200C0C0S0H2C1q2j0o1y0p1~2O0V1|1{1}0O2l0:1T0o2e2z1X1I1K0+1(2Y0Q2!0o1^1J1X0s2H1y2M2O2_0{231a2*2a2/0C0 0k0^0F2L2}0_2|2k2 1)31330^0I3724392M2X013e0u34040h3i2N0`3l3c0:3o3q0j3t3k2}3m3z0^0J3C1z2@1q2(2R0O2V3m0H1^2r0Y1J1y2?0S2^383J3S0Z3!3b1M1)0w0^0Z0U3J3w3+0:0n0^0W3;3E3x3n0U0^2n2S0S0i2/0L3{3*2+010@040m472~3?3n0^240o0d0$2H4e3m4b0g3C3`3=490o0^454o3}4b0r0z3C060W4G4t3|4g3-040Q3:1r384I48304x0B464P3j4R4f490B3^4M0o4s3a4!4T044j4l0Q4n4X2N4+4p0^4D4?0_4H4~4Z3m4L2H0V0d0C4)4|504A0^0R4z4g4w044y4|4^5a044{2_595e4i0o4k4m0S5d494b0f5v4-5h2{4u2a4b0P0T4E4~5j4K0^0S0(5u5i5D1)4b5m384F4 4G5K49520!55575n5Z5E5b5H4|0`0p3%3Z3K5=0p3N1q0V3P5`2T2P1@1_2R0u1!5@3N1w3)4,1)2H0L0i0U0u0w430A0h0^1i1k1m1o0W5U3j1z391x0D0!0V1$0u0s2y0H0A1$1o0V0W0x1m1J3p2e6x0W0c0*5N1#200o2A0E0#0o6G6P6e4;1$0d1a230C3S550)0!0W6(1$0E0B0C0=6y6Y0Q0H0?0x0S0l0W0t1a170%0Q0E1$055;4.5r4:2H0l2B1j0E0m0r1q7b0W6J0W2H0o0G0B0Q1$1#0)6,0s7x3`7b0m0+0x0g0W0G6L557l5:3T040W0O0d7Q6|2C2f6$0l6s1H1J3m1+1S1U1W683m2n2e2g0^2t0e0H0C0?6G0v0N1~193J3Y682`3#7b5*3,3.0S4O5C4J494%3`5Q8a303 04412H444V5z5S0^4d8e4S3d5q5s6$8n0:4q4*5R3y4U4W898s8y0^4C5I4H840:4L0U6@8A8f8o4c8x4h040s0S0C6?5r5P8F698H044r588M8W4k2q2w8V4B8R8G014$0^2-8^8)8W4/5t8V0B0^7Y8r8 5f7h0L1p974_4c8J5.5X5Y8B014L4N8~3F0^8Y8!192!9o3}94040X0X9v5p5g8m9d5k6q3u9i4 8.5#54569B5w5b8V5f9r8#9u9F4g5T9P5A0}8Z0B8?0^5-2_5W9j8S8N0^535%9!8T0R9+5V7m7O5?2O661B04730W8Y170W0u0d0.0Qa42w0H0x0Z0C0W2e6T6W0C0d77246G6(7T2J0Q9t5tai2~4V2?0x6D6Uau1a4{1G3V2)4g7%1-1V2i9/2b2d2p2r7;7?7^2u7{0A7}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%0E04.
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
.128013buS[,3_4l.(wn/R)pOaPké0;:hors1vc25qm6gyd]i{e}ft =050O0S0V0t0Q0j0D0W0G0j0t0D0D0X010V0Q0r010406050D0c0K0K0t0C0N040d0B0j0c0=0B0n0W020t0K0r0y0W0p0S0 0C0J0c0S0D050o0|0~10120`0r041q1x051A0o1A1C1x0`0O0Q0F0*0,0.0:0A0Q0M0A0j1Q0A0V0^050#0b0j0S1L0-0/011P1R1T1R0V1Z1#1X0V0b0B0O121Y0C1y0V0A0*150D0r0t0n0:0H011%1N010U0%0S0n1d0S1X2224291)2c1#2f0K2h040a0W0u0C0B0r0B0D0Q181a0Z200C0C0S0G2C1q2j0n1y0o1~2O0V1|1{1}0O2l0:1T0n2e2z1X1I1K0+1(2Y0Q2!0n1^1J1X0r2H1y2M2O2_0{231a2*2a2/0C0 0j0^0E2L2}0_2|2k2 1)31330^0H3724392M2X013e0t34040g3i2N0`3l3c0:3o3q0i3t3k2}3m3z0^0I3C3v3E3x3n0B323p0^0L3C1z2@1q2(2R0O2V3m0G1^2r0Y1J1y2?0S2^383T3$0Z3.3b1M1)0v0^0Z0U3T3w3^0:0m0^0W3~3L403n0U0^2n2S0S0h2-2B0Q3p0S453@2+010@040l4k2~470n0^240n0c0$2H4r3m4o0f3C443 4m4u044f0=4i4B3M4o0q0z3J0W4U4G464I0^2H0|0j0#0V4F3a4s4m0B0^0X4)4H2a4o0R0T4T4V4*3m3`040U3O4:4X300^0r0S0C0D192!514l2a0B424K0n5b4+53044w4y0Q4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0Q3}5w2N5B5j3d5456580n5a5H3?5K0:4o0e4O470K0Q0^0x5X4m4o0P5i3m4-040X4/5R5J3F5E0n4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0c4$0t4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0V0c0C5h6u6F4J4!684%3J1q3;3-3U6.0o3X1q0V3Z6?2T2P1@1_2R0t1!6:3X1w5S3m2H0K0h0U0t0v4d0A0g0^1i1k1m1o0W5 3/1D391x0s1a55170W0t0c0.0Q0W2?0B0G0w0Z0C0W2e200n0D2S0c0Q0D240V0W0c2D0Q2J0Q596C7G2~0B1e0C0w0A2e2A197G7Q056-5l5P5n2H0k2B1j0D0l0q6,3%040W1m7y2H0n0F0B0Q1$1#0)3$0c0r8a447:0l0+0w0f0W0F4i6Y7}0o7:0W0O0c8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0d0G0C0?7Q0u0N1~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 0C9K4=0^926N6q9e6k5N9B9i474D9P6j9H560B9C0^8q9u9o015e5@9$3y4v7=979Z6w040k9y5E0V7`9+4p9-389v474}5F9?9V9A5P6D5r9d5V985Z5#a36Qa69/5-5/ab4J4L4h9h9T8@4o4^5R0`8r7 6/2O723W0!0$0(04.
.128013buS[,3_4l.(wn/R)pOaPké0;:hors1vc25qm6gyd]i{e}ft =050O0S0V0t0Q0j0D0W0G0j0t0D0D0X010V0Q0r010406050D0c0K0K0t0C0N040d0B0j0c0=0B0n0W020t0K0r0y0W0p0S0 0C0J0c0S0D050o0|0~10120`0r041q1x051A0o1A1C1x0`0O0Q0F0*0,0.0:0A0Q0M0A0j1Q0A0V0^050#0b0j0S1L0-0/011P1R1T1R0V1Z1#1X0V0b0B0O121Y0C1y0V0A0*150D0r0t0n0:0H011%1N010U0%0S0n1d0S1X2224291)2c1#2f0K2h040a0W0u0C0B0r0B0D0Q181a0Z200C0C0S0G2C1q2j0n1y0o1~2O0V1|1{1}0O2l0:1T0n2e2z1X1I1K0+1(2Y0Q2!0n1^1J1X0r2H1y2M2O2_0{231a2*2a2/0C0 0j0^0E2L2}0_2|2k2 1)31330^0H3724392M2X013e0t34040g3i2N0`3l3c0:3o3q0i3t3k2}3m3z0^0I3C3v3E3x3n0B323p0^0L3C1z2@1q2(2R0O2V3m0G1^2r0Y1J1y2?0S2^383T3$0Z3.3b1M1)0v0^0Z0U3T3w3^0:0m0^0W3~3L403n0U0^2n2S0S0h2-2B0Q3p0S453@2+010@040l4k2~470n0^240n0c0$2H4r3m4o0f3C443 4m4u044f0=4i4B3M4o0q0z3J0W4U4G464I0^2H0|0j0#0V4F3a4s4m0B0^0X4)4H2a4o0R0T4T4V4*3m3`040U3O4:4X300^0r0S0C0D192!514l2a0B424K0n5b4+53044w4y0Q4A1r3/4;1)4o4S5q3j064V5z4W5c3_0^0Q3}5w2N5B5j3d5456580n5a5H3?5K0:4o0e4O470K0Q0^0x5X4m4o0P5i3m4-040X4/5R5J3F5E0n4g4N5R4{4P0^5v2_5y5A625|4t4Z1o0c4$0t4(5{5s5U0^5W6c525L045557594j6h5C6e045*5;644,4.5+3M4J5m4z6o2{6d4n6f5%5k6l5O5Q6E6i6r6t605z6v2a4}2H0V0c0C5h6u6F4J4!684%3J1q3;3-3U6.0o3X1q0V3Z6?2T2P1@1_2R0t1!6:3X1w5S3m2H0K0h0U0t0v4d0A0g0^1i1k1m1o0W5 3/1D391x0s1a55170W0t0c0.0Q0W2?0B0G0w0Z0C0W2e200n0D2S0c0Q0D240V0W0c2D0Q2J0Q596C7G2~0B1e0C0w0A2e2A197G7Q056-5l5P5n2H0k2B1j0D0l0q6,3%040W1m7y2H0n0F0B0Q1$1#0)3$0c0r8a447:0l0+0w0f0W0F4i6Y7}0o7:0W0O0c8t7U2C2f5o1$5v1G3)2)471+1S1U1W743M2n2e2g0^2t0d0G0C0?7Q0u0N1~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 0C9K4=0^926N6q9e6k5N9B9i474D9P6j9H560B9C0^8q9u9o015e5@9$3y4v7=979Z6w040k9y5E0V7`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
.128013buS[,3_4l.(wn/R)pOaPké;:hors1vc25qm6gyd]i{e}ft =050N0R0U0t0P0j0C0V0F0j0t0C0C0W010U0P0r010406050C0c0J0J0t0B0M040d0A0j0c0;0A0n0V020t0J0r0x0V0p0R0~0B0I0c0R0C050o0{0}0 110_0r041p1w051z0o1z1B1w0_0N0P0E0)0+0-0/0z0P0L0z0j1P0z0U0@050!0b0j0R1K0,0.011O1Q1S1Q0U1Y1!1W0U0b0A0N111X0B1x0U0z0)140C0r0t0n0/0G011$1M010T0$0R0n1c0R1W2123281(2b1!2e0J2g040a0V0u0B0A0r0A0C0P17190Y1 0B0B0R0F2B1p2i0n1x0o1}2N0U1{1`1|0N2k0/1S0n2d2y1W1H1J0*1%2X0P2Z0n1@1I1W0r2G1x2L2N2^0`22192)292.0B0~0j0@0D2K2|0^2{2j2~1(30320@0G3623382L2W013d0t33040g3h2M0_3k3b0/3n3p0i3s3j2|3l3y0@0H3B3u3D3w3m0A313o0@0K3B1y2?1p2%2Q0N2U3l0F1@2q0X1I1x2=0R2@373S3#0Y3-3a1L1(0v0@0Y0T3S3v3@0/0m0@0V3}3K3 3m0T0@2m2R0R0h2,0E0R0B0C0R443?2*010?040l4k2}460n0@230n0c0#2G4r3l4o0f3B433~4m4u044x0J4B3L4o0q0y3I0V4T4G454I0@2G0{0j0!0U4F394s4m0A0@0W4(4H294o0Q0S4S4U4)3l3_040T3N4/4W2 0@0r4g0C182Z4N464D504l524K0|4g0A5c4*290A41042,5j3E4v0n4x4z4j1q3.4:1(4,040k594X5o0U1i1o5x3i4`4O0@0l4Q4^4U4_5z0/4|0P3|5K2M4V5d3c0@4L5h5q3L5B0W4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0c4#0t4%5`5U4n0@0e5E5e544h575w2`6c4o0O5+465-6q5F5)2v5R5=4{4Y0Z0c0B0n6t5e66686a2^0_0o3:3,3T6O0o3W1p0U3Y6T2S2O1?1^2Q0t1Z6Q3W1v3=5?0/2G0J0h0T0t0v4c0z0g0@1h1j1l1n0V5~2`1C381w0s1954160V0t0c0-0P0V2=0A0F0w0Y0B0V2d1 0n0C2R0c0P0C230U0V0c2C0P2I0P575v7l2}0A1d0B0w0z2d2z187l7v056N044w4y0P2G0k2A5I5P1p7R0V1l7d2G0n0E0A0P1#1!0(3#0c0r7:437R0l0*0w0f0V0E3o0R6C0q7#3$5;0N0c0V1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0d0F0B0=7v0u0M1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0U6C6E8@8L4;0@0Q8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0B9m0/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.
.128013buS[,3_4l.(wn/R)pOaPké;:hors1vc25qm6gyd]i{e}ft =050N0R0U0t0P0j0C0V0F0j0t0C0C0W010U0P0r010406050C0c0J0J0t0B0M040d0A0j0c0;0A0n0V020t0J0r0x0V0p0R0~0B0I0c0R0C050o0{0}0 110_0r041p1w051z0o1z1B1w0_0N0P0E0)0+0-0/0z0P0L0z0j1P0z0U0@050!0b0j0R1K0,0.011O1Q1S1Q0U1Y1!1W0U0b0A0N111X0B1x0U0z0)140C0r0t0n0/0G011$1M010T0$0R0n1c0R1W2123281(2b1!2e0J2g040a0V0u0B0A0r0A0C0P17190Y1 0B0B0R0F2B1p2i0n1x0o1}2N0U1{1`1|0N2k0/1S0n2d2y1W1H1J0*1%2X0P2Z0n1@1I1W0r2G1x2L2N2^0`22192)292.0B0~0j0@0D2K2|0^2{2j2~1(30320@0G3623382L2W013d0t33040g3h2M0_3k3b0/3n3p0i3s3j2|3l3y0@0H3B3u3D3w3m0A313o0@0K3B1y2?1p2%2Q0N2U3l0F1@2q0X1I1x2=0R2@373S3#0Y3-3a1L1(0v0@0Y0T3S3v3@0/0m0@0V3}3K3 3m0T0@2m2R0R0h2,0E0R0B0C0R443?2*010?040l4k2}460n0@230n0c0#2G4r3l4o0f3B433~4m4u044x0J4B3L4o0q0y3I0V4T4G454I0@2G0{0j0!0U4F394s4m0A0@0W4(4H294o0Q0S4S4U4)3l3_040T3N4/4W2 0@0r4g0C182Z4N464D504l524K0|4g0A5c4*290A41042,5j3E4v0n4x4z4j1q3.4:1(4,040k594X5o0U1i1o5x3i4`4O0@0l4Q4^4U4_5z0/4|0P3|5K2M4V5d3c0@4L5h5q3L5B0W4.5Z045#5k5%5f4M5:5M5a0@4R5:065S615T515@4Z0c4#0t4%5`5U4n0@0e5E5e544h575w2`6c4o0O5+465-6q5F5)2v5R5=4{4Y0Z0c0B0n6t5e66686a2^0_0o3:3,3T6O0o3W1p0U3Y6T2S2O1?1^2Q0t1Z6Q3W1v3=5?0/2G0J0h0T0t0v4c0z0g0@1h1j1l1n0V5~2`1C381w0s1954160V0t0c0-0P0V2=0A0F0w0Y0B0V2d1 0n0C2R0c0P0C230U0V0c2C0P2I0P575v7l2}0A1d0B0w0z2d2z187l7v056N044w4y0P2G0k2A5I5P1p7R0V1l7d2G0n0E0A0P1#1!0(3#0c0r7:437R0l0*0w0f0V0E3o0R6C0q7#3$5;0N0c0V1H7A7C7V1#5~1F3(2(461*1R1T1V6+3l2m2d2f0@2s0d0F0B0=7v0u0M1}183S3+6+2_3.7R5{4m4|3{6g1(5n436b643x484}0$4b4d7+556l5y8U6d4p8P3x5s5u8e8,8*4E5:6y3L4J4L8;4P703760635$5V6A0U6C6E8@8L4;0@0Q8;4J6i565t8%5L6n5}6F5@6v5i986c4|4~0B9m0/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
.128013buS[,3_4l.(wn/R)pOaPké;:hors1vc25qm6gyd]i{e}ft =050N0R0U0t0P0j0C0V0F0j0t0C0C0W010U0P0r010406050C0c0J0J0t0B0M040d0A0j0c0;0A0n0V020t0J0r0x0V0p0R0~0B0I0c0R0C050o0{0}0 110_0r041p1w051z0o1z1B1w0_0N0P0E0)0+0-0/0z0P0L0z0j1P0z0U0@050!0b0j0R1K0,0.011O1Q1S1Q0U1Y1!1W0U0b0A0N111X0B1x0U0z0)140C0r0t0n0/0G011$1M010T0$0R0n1c0R1W2123281(2b1!2e0J2g040a0V0u0B0A0r0A0C0P17190Y1 0B0B0R0F2B1p2i0n1x0o1}2N0U1{1`1|0N2k0/1S0n2d2y1W1H1J0*1%2X0P2Z0n1@1I1W0r2G1x2L2N2^0`22192)292.0B0~0j0@0D2K2|0^2{2j2~1(30320@0G3623382L2W013d0t33040g3h2M0_3k3b0/3n3p0i3s3j2|3l3y0@0H3B3u3D3w3m0A313o0@0K3B1y2?1p2%2Q0N2U3l0F1@2q0X1I1x2=0R2@373S3#0Y3-3a1L1(0v0@0Y0T3S3v3@0/0m0@0V3}3K3 3m0T0@2m2R0R0h2G0L0P18443?2*010?040l4i2}460n0@230n0c0#2G4p3l4m0f3B433~4k4s044e4g0n4z3L4m0q0y3I0V4S4E454G0@2G0{0j0!0U4D394q4k0A0@0W4%4F294m0Q0S4R4T4(3l3_040T3N4.4V2 0@0r0R0B0C182Z4M464B4 4j51044v2p2v5c4)290A41042,5j3E4t0n4v4x0R594*0@0k5x5e2A1i1o1q3.4/1(4m0l4P4@4T4^5I0/4{0P3|5G3i4U5d3c0@5g540A5B5J0@0e5(0/0J0P345,4l0@0O5q3L4+040W4-5V2M5X5k5Z4I0R4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040O4Q67065O6q5P50624Y0c4!0t4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0U0c0B4L676Z4r4X1n6w4#3I1p3:3,3T6^0o3W1p0U3Y6}2S2O1?1^2Q0t1Z6`3W1v683l2G0J0h0T0t0v4c0z0g0@1h1j1l1n0V6n2`1C381w0s1953160V0t0c0-0P0V2=0A0F0w0Y0B0V2d1 0n0C2R0c0P0C230U0V0c2C0P2I4K2e0P2G7N2}0A1d0B0w0z2d2z187N7X056@044u4w7)0R0k5D0J0C5L6?3$040V1l7F2G0n0E0A0P1#1!0(3#0c0r8i437{0l0*0w0f0V0E3o0R6(0q863;0V0N0c8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0d0F0B0=7X0u0M1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0B6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0U5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0O4?6o8A6`8.3V3)0_6{0Z0#0%04.
.128013buS[,3_4l.(wn/R)pOaPké;:hors1vc25qm6gyd]i{e}ft =050N0R0U0t0P0j0C0V0F0j0t0C0C0W010U0P0r010406050C0c0J0J0t0B0M040d0A0j0c0;0A0n0V020t0J0r0x0V0p0R0~0B0I0c0R0C050o0{0}0 110_0r041p1w051z0o1z1B1w0_0N0P0E0)0+0-0/0z0P0L0z0j1P0z0U0@050!0b0j0R1K0,0.011O1Q1S1Q0U1Y1!1W0U0b0A0N111X0B1x0U0z0)140C0r0t0n0/0G011$1M010T0$0R0n1c0R1W2123281(2b1!2e0J2g040a0V0u0B0A0r0A0C0P17190Y1 0B0B0R0F2B1p2i0n1x0o1}2N0U1{1`1|0N2k0/1S0n2d2y1W1H1J0*1%2X0P2Z0n1@1I1W0r2G1x2L2N2^0`22192)292.0B0~0j0@0D2K2|0^2{2j2~1(30320@0G3623382L2W013d0t33040g3h2M0_3k3b0/3n3p0i3s3j2|3l3y0@0H3B3u3D3w3m0A313o0@0K3B1y2?1p2%2Q0N2U3l0F1@2q0X1I1x2=0R2@373S3#0Y3-3a1L1(0v0@0Y0T3S3v3@0/0m0@0V3}3K3 3m0T0@2m2R0R0h2G0L0P18443?2*010?040l4i2}460n0@230n0c0#2G4p3l4m0f3B433~4k4s044e4g0n4z3L4m0q0y3I0V4S4E454G0@2G0{0j0!0U4D394q4k0A0@0W4%4F294m0Q0S4R4T4(3l3_040T3N4.4V2 0@0r0R0B0C182Z4M464B4 4j51044v2p2v5c4)290A41042,5j3E4t0n4v4x0R594*0@0k5x5e2A1i1o1q3.4/1(4m0l4P4@4T4^5I0/4{0P3|5G3i4U5d3c0@5g540A5B5J0@0e5(0/0J0P345,4l0@0O5q3L4+040W4-5V2M5X5k5Z4I0R4f4h5~3=610/4m5+674_3L5.5:6d5Q5=040O4Q67065O6q5P50624Y0c4!0t4$6i6t6a5*5;4H5355575w6A5Y6C6l5^465`5}2^605r5f0|5$5N6T3L4{2G0U0c0B4L676Z4r4X1n6w4#3I1p3:3,3T6^0o3W1p0U3Y6}2S2O1?1^2Q0t1Z6`3W1v683l2G0J0h0T0t0v4c0z0g0@1h1j1l1n0V6n2`1C381w0s1953160V0t0c0-0P0V2=0A0F0w0Y0B0V2d1 0n0C2R0c0P0C230U0V0c2C0P2I4K2e0P2G7N2}0A1d0B0w0z2d2z187N7X056@044u4w7)0R0k5D0J0C5L6?3$040V1l7F2G0n0E0A0P1#1!0(3#0c0r8i437{0l0*0w0f0V0E3o0R6(0q863;0V0N0c8C7#2B7(7*6n1F3(2(461*1R1T1V7b3L2m2d2f0@2s0d0F0B0=7X0u0M1}662`3+682_3.7{6e464{3{5;5n436K6947490$4b4d644K5;5K6E5s5u7 960@4C6+8?4W63656*2`6j4O7s376p6s6L016#0Z6(9k376,4k4;98046G565t6J9l6B6k9o5W9g5e5#5i9f6j4{4}0B6O9A0@4o8}6U9E6I9c049e6S9N629P5%9!4N0@8z9R9J5m0@5p9@9s4H7}5v5;5`5A9:6-5o0U5E9(859|8~5S5U9+6j4H9.9(6c9I9s6g0435a49X6Nab3l6Q6R9y9,3x6.9jaj5;anapal8~4m0O4?6o8A6`8.3V3)0_6{0Z0#0%04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)