Aller au contenu

Exercices types construits

Intersection de deux listes⚓︎

Info

L'opérateur Python in peut permettre de tester l'appartenance d'un élément à une liste.

Exemple : 1 in [1, 2, 3] est évalué à True alors que 4 in [1, 2, 3] vaut False.

On suppose que l'on dispose de deux listes triées dans le même ordre.

Complète le code suivant qui permet de retourner la liste de tous les éléments de deux listes présents dans les deux.

###(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
.128013it3a;dv,n2.S5wbcy14: f-up0)_elohrP=[s6(]/mgk050g0D0c0e0b0E0L0v0q0E0e0L0L0J010c0b0z010406050L0y0Q0Q0e0H0r040m0F0E0y0-0F0j050P0@0_0{0}0=0z04051d161g0P1d0=0g0b0h0#0%0)0+0%0j0R0y0e0R0D0x0z0r0c0G140v0G0b0R0G0E1I0G0c0:050W0p0E0D1p0(0*011H1J1L1J0c1R1T1P0c0H1e1D0#100L0z0e0j0+0k011V1r010w0Y0D0j0e0Q0D1P1;1?1{1X1~1T21230:0a0v0I0H0F0z0F0L0b130j0v0U1/0H0H0D0q2o16260j1e0P1D2B1+1-1,1Q0g281s0b0j202l1P1m1o0$1W2L2N0j0F2R1P0z2u1e2z2B2(0?1=2p2T1|2X0H0`0E1P0e1G2u0w0+030C0C0q2Y0D1L2W0F0x0A0x0s0:0s160e2)2,0;2+272.1X2:2=2@2_0D2{012}2 31332O360x1_040k3c3e1?3g2z2K013l0e2?1e2^0G2`2|2~300U3v2X3x0d0:0d3C2y3f0=3G3j0+3J3L053N3P3r3R3u2M3w370t0:0t3!173$3h2-1q3k0F2;3K3n3O3p3Q3t3T3?3V370n0:0n3|2(3%2,3H3+463/3s3S324c35370M0:0M4i3f1h2$162R2E0g1-2J3)014r2Q1n1e2#0D2%4A3}3E054r4R270b0g0+2~2z3x393M0v4Z4#4a4s344(1`2c0D4-4r3U4u381P0P3d3 3H0S0:0U0w3#4U3(410+0o0:0v562A504J0j0w0:2M0c0D0H0L2v2x4T5f582U010/040N5e4X405v0j0:0E3b5s5B3H5x0u5A5d5u2/0p5F0b0L0c5A5g595w0:0i5N5X5D5F3B5I5%1|5L5$5P3k5R041L5U5W5:0+5x0B5/4l4J0F0:0x020R0c0f5~3i5Y0j5=5@5V5+5`5Z045M5I0=6f4l4,014$2,3x3z3-4+4!6p4.4`6s4=224@6x4_4t6A2B3d0v6K5O5 6a5F685C1|61040J6Q5K0:0K0O5A6l2*3G6o6q1?3W3n6)6y6G373X0v4?4^3=4:6;4}6J6L5,1X52040w436W5h0:326e2(6M695v0F5b042M756O5?5H6%6N5v5.6k5_6n6w6*0j3x3_4*6.6F6`0x3_6?6C6^4b7B7x3C6L7L7b6R705k555I7N4m770E793f7T607f7h7S6 3*5)7r7c5-0:6j4j7+2p6.4%4e6-7t6/7B4f7E237G4/3@0x4f6I047M877Z7j0E7;3H6T0l8c76040e0z0z200g8g5Y5x5z6m7,3k7V7X577n7-045}7q8s7=7`7@0x4w7y7`7A824w7~6D3;7H8M6|866~6g712u0c0y0H157%6g5E5?6#5W0P4W4B4Q4D4N160c4G8?2H2C0e1S8:0P4E6l0U0W0Y0L04.

Partages des éléments d'une liste⚓︎

Source: Codex

On donne une liste valeurs et un entier n.

On garantit que n est un entier compris entre 0 et la longueur de valeurs (inclus l'un et l'autre).

Compléter le code de la fonction partage qui :

  • prend valeurs et n en arguments,

  • renvoie le couple formé :

    • de la liste comprenant les n premiers éléments de valeurs (situés à gauche),
    • de la liste comprenant les éléments restants (situés à droite).
Exemples
Python
1
2
3
4
5
6
>>> partage(['pim', 'pam', 'poum'], 2)
(['pim', 'pam'], ['poum'])
>>> partage([7, 12, 5, 6, 8], 0)
([], [7, 12, 5, 6, 8])
>>> partage([7, 12, 5, 6, 8], 5)
([7, 12, 5, 6, 8], [])

Astuce

range(n) génère les entiers de 0 à n - 1 inclus.

range(a,b) génère les entiers de a à b - 1 inclus.

L'utilisation de listes par compréhension avec range raccourcsissent le code suivant mais il est aussi possible de l'écrire avec des append.

###(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
.128013it3adv:,n2.S5éwbcy14A f-up08)_9eklohrP=[s6(]/mg7050f0G0c0e0b0I0P0w0r0I0e0P0P0N010c0b0A010406050P0z0U0U0e0L0s040m0J0I0z0;0J0j050T0{0}0 110_0A04051h1a1k0T1h0_0f0b0g0)0+0-0/0+0j0V0z0e0V0G0y0A0s0c0K180w0K0b0V0K0I1M0K0c0@050!0q0I0G1t0,0.011L1N1P1N0c1V1X1T0c0L1i1H0)140P0A0e0j0/0k011Z1v010x0$0G0j0e0U0G1T1^1`1 1#221X25270@0a0w0M0L0J0A0J0P0b170j0w0Y1?0L0L0G0r2s1a2a0j1i0T1H2F1/1;1:1U0f2c1w0b0j242p1T1q1s0*1!2P2R0j0J2V1T0A2y1i2D2F2,0`1_2t2X202#0L0~0I1T0e1K2y0x0/030E0E0r2$0G1P2!0J0y0k0y0t0@0w0t1a0e2-2:0^2/2b2=1#2@2_2{2}0G2 01313335372S3a3a3e0k3h3j1`3l2D2O013q0e2`1i2|0K2~3032340Y3A2#3C0d3e0d3G2C3k0_3K3o0/3N3P053R3T3w3V3z2Q3B3b0u3e0u3(1b3*3m2;1u3p0J2^3O3s3S3u3U3y3X3`3Z3b0n3e0n402,3+2:3L3/4a3?3x3W364g393b0Q3e0Q4m423,453.473r3Q3t3v4u3_383C0W3e0W4D3I4o3n4G3M4I494K4b4M3^4f4P3b0C3e0C4U2E4W442Y4Z483:3=4c3@4e4w4+0y0F3e0F4:3J4p3-4^4J3;4L4d4v3Y4y3c0B0@0t0B554=4q4!4`5c4}5e4x3C0t3d045w5m435o4_4s4|4N4*3{3c1}5y3F0T3i3)4V5B584r4$4t4)4 5I0t3#5y3%5N3H4;5R4Y5T5b4%5d4O5Y3}5y3 5%5P5)4F4@5,4{4(4~5f5v4j5y4l5^415Q5{2?5p5E5 5t500t4A5y4C664n5*5|6b5U5F5W613b0t4R5y4T6k4E575+6o5-5V605u6t4-5y4/6y686A6n5D6p6d5:4h3c525y546L5`6N6a6P6D6q6F500k5i046+5A69466$5~5/5H6T0k5x6`6/6!6;5a6?5s6S5g0k5K75551l2*1a2V2I0f1;2N584v2U1r1i2)0G2+3k5_1i4v7o2b0b0f0/322D5v3s7v7x6)5Y1~2g0G7D6e7F2F5O6:0/0r5x030w0v0g2z0w1X0(1P0P0c0G0(1_0L1?0U2)0o0K242q187q0_672E5B7C017y2:3C5K5b7{6r6G3D0w7H7J737 1T5^7O010H0@0Y0x7q6m200p3e8j8d0j0x0@7)0!1C8o6~0/0?040R8w4X5|0@0g3O0G0z0L0P8C4?208z0i7q0w8k3p0@197^7t8N1#8z0D0h7?8M0w820E7z3b5!817w7|7E6T3#86267I8=7K8@8b3i0w918S8p0@0!0$1X8R8T0/0J0@0N998p0q0@2f8)588z8B8X9a3M8F8H8J8L9o8d8#8(9v4p8+8-0y5=8:886^5g3}8_279G5X6T9E5%7@2.3K9B7~4i7B8;83504j9K8{9Z5I633G92938x9q048t0b0G0E0V0e0z0r7/9f9.9c049e8X9-8D8O0@0O9}a48U048G1X9t9k4Y8za79za93.0@0baf4@8z0Sa88Z0/8f040x47as4qamaz580J8m042QaC5+9h040L1`8vajat019mao2?8VaT8!0@0Dar8X9R7p9T9Y8,9V0y6h9F8|894z7G8`9M6sa,8 049,9p0j8s0 0;9?0f2m2r0GaI4@9 a12,a3aQahb7aUab9s8KaW8ya6bk9/anaP3Laqbf1#avax0LbtalaGby01aEam8Wbba}aKaM1yb6bq9l0@9n9S9.a~04bFa%9.8PbBbS960I98bMagaYa!6lbq9U1`4Q9Xa@844R9$b;506v3Ga$3I7`a)9C6Ia.9(6T4-b@a/9H3Cc15%a|8dav2y0c8JbU3IbcbrbObnbS9;9?9^9`9|b%ap0@8Qa2a}a 0Lb10Eb30Jb5bn9xa#8)b-0j3C6Vc28?5g52c6c3cRa`b|7_a(7D9C5kb:c79N5gc$cTcQ5v6,3(8d7Q0@7S7U7W0Y0(0e0A0A240f9ybQ7ub a+5wc%cU5v3dc,8}c*5xc:9.av8hbnaF8Scu2?8r9:b01BbLd2bdcmdmaaac8Ibjdwbl04cxbG94bTcHaY8%cJb,d4b.6t802|8+dc5v1}dba:5Ja`ccbR950#b#ds3kckaD9dbYaK9jdBaRdvdtaAbhaddAd@bN040Dd1bVd3c!d58/dRa)dT6t8^87c(a^5ZcWcKdNcM6t9Ee6b^5;a=9Lec840t9P9092czdpcB9=9@9_9{d)cj9pb9bBahb*42dMe3dO3c9*eleq6f9#ebd86t9*cbevcd0@bwbYaBcy8dbDaGci2Ed+aJ0@bJaOd|b(8AcnaVd;8#dKb+d@cL5va-eQeV3c4AdWc86ta-eY9,91ewcpeAcseDcY9~0@0le`04c|c~0jd0e|d?e1aQbSdyaefu04aie@8EbAfB0Sd dLf0eh5vb`f4c-6tb?eUfQ3cb`9QegeMei3cc1fPe8f#eo9%fU0tcaeufedGfgcEcGe)fla0eHa6eJ5QeL8=c#cOf%dX0tcSfTf(g5dZeZdge#ayf^akbobBe+aHgffxbIaNfj8Ycle_d;bSe-gqd}dEd*ewb!b$fEa5d~e~eKfLfZ7 c/g3f93a5if8c)gKgafde/fFf=b47$bn9 fngt0@fqc dIgsgDdxbi9ug-dCfDfwd^bpg;d=04fIe0b}cZg0a+6`d7fUh3gQa^h37M3lf 7}eN75h4f(hfh784hfhad!ggce0Zchf{g,g@5ScAcCcreCg+gyeEf;b0ezf?gZfBfJe 7p0T7s797n7b7k1a0c7ehS2L2G0e1WhP0T7c7@0Yb!0P04.

Tableau de Mendeleïev en Python⚓︎

Voici une façon d'implémenter le tableau périodique des éléments chimique :

Python
# Tableau périodique de Mendeleïev (simplifié, par période)
tableau_mendeleiev = [
    ["H", "He"],
    ["Li", "Be", "B", "C", "N", "O", "F", "Ne"],
    ["Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar"],
    ["K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn",
     "Ga", "Ge", "As", "Se", "Br", "Kr"],
    ["Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd",
     "In", "Sn", "Sb", "Te", "I", "Xe"],
    ["Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy",
     "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt",
     "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn"],
    ["Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf",
     "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds",
     "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"]
]

Complète le code suivant qui permet d'obtenir la liste des gazs rares ["He", "Ne", ...] qui contient les derniers éléments de chaque période.

###(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
.128013ita;,FMnED2VR714L fWI0U8XeloHrO=[]/mC3dvzT.SG5éwbcyq:A-upBY)_9NhPs6(ZKgk050N0A0c0d0b0B0=0s0Y0B0d0=0=0G010c0b0)010406050=0(0K0K0d0E0Z040S0C0B0(1c0C0i050J1j1l1n1p1h0)04051F1y1I0J1F1h0N0b0O1416181a160i0`0(0d0`0A0%0)0Z0c0:1w0s0:0b0`0:0B1.0:0c1f050 0X0B0A1R1719011-1/1;1/0c1`1|1^0c0E1G1)141s0=0)0d0i1a0l011~1T010t110A0i0d0K0A1^2g2i2n202q1|2t2v1f0a0s0;0E0C0)0C0=0b1v0i0s0}2e0E0E0A0Y2Q1y2y0i1G0J1)2%2a2c2b1_0N2A1U0b0i2s2N1^1O1Q151 2;2?0i0C2`1^0)2W1G2#2%371i2h2R2|2o300E1m0B1^0d1,2W0t1a030-0-0Y310A1;2 0C0%0q0%0p1f0s0p1y0d383b1g3a2z3d203f3h3j3l0A3n013p3r3t3v2@3y0%2l040s0l3F3H2i3J2#2:013O0d3i1G3k0:3m3o3q3s0}3Y303!0M3C0M3*2!3I1h3.3M1a3;3?053^3`3U3|3X2=3Z3z0q3C0q451z473K3c1S3N0C3g3=3Q3_3S3{3W3~4k403z0U3C0U4q37483b3/4c4A4g3V3}3u4G3x3z0?3C0?4M4s494v4b4x3P3@3R3T4U4j3w3!0o3C0o4%3,4O3L4*3:4,4z4.4B4:4i4F4?3z0y3C0y4{2$4}4u2}504y4d4f4C4h4E4W580%0.3C0.5d3-4P4a5i4-4e4/4D4V3 4Y3A0w1f0p0w5v5f4Q515k5C5n5E4X3!0p3B045W5M4t5O5j4S5m4;574l3A3$0p3)0J3G464|5#5y4R534T565p5,0p425Y445;3+5e5^4 5`5B545D4=5 4n5Y4p645?664)5h695l555o5F5V4J5Y4L6i4r5@6l3e5P5(6p5T5q0p4!5Y4$6w4N676m6B5{5)5}6r3z0p4^5Y4`6K4(5x686O6a5|6q5U6T5a5Y5c6Y6y6!6N5%6P6D6d4H3A5s5Y5u6/6k6;6A6?6%6Q6)5q0l5I04785!6z4w736o6c5+6`0l5X7k7c717e5A7g5S6_5G0l3$7v5v1J351y2`2*0N2c2/5y4V2_1P1G340A363I6j1G4V7O2z0b0N1a3q2#5V3Q7V7X765 2m2E0A7%6E7)2%5=7d4b1f270A0d0(0-2v0i3~0A0b0A0O7Q0s6M2o0C1f0G8486201e040H7Q1h6x2$5#7$017Y3b3!3$5B8m6R6*3#7*2u7,8n7(7j1^640s8F857=018e8g8j7T5g2o0=3$020!0(0C0c0e0D8S8U8W7Q8c1a8e0f8b8I8Q1f8Z8V8X0A8/8#8M8%8J1f0I8*8M8i393.8t0-7Z3z618s7W8A7.6`420s7+7-7t418D3G8G8H7o8(1f8L909m018-048?0e0r0b9v8$8I8)8+9r9t9v0*8=8T8:9A9r9C8M9l4~5h9F9J8W0*9z8^9B1f8}379P8O209S8!0e0L9W9q9Q2o9N9#8_9)8:0/9-7P9Y049!3I9$3/9@8W0F9`3,8_9;9 9?8R9T0e0ga58k9|9~3,a05ya20e0/9I9*9L9/8d8{ai669X4P92943y7#988u5q4n9d8y9f7i5G6f3*9ka79oar9%1aam0/0daf8N3/a8ajaa8.ac0h0`aXaP9}9DasaTab9*0$0Ba+aha.aS9sa;8:0S9yacaRaZ9Za`a1a}8W0;a^9Mb49Oa$9uac0Sbaa/8`a-bd8,b79+a@b1axbja!2$ak4 am0$0Ebia{8e8|8hb2az8p4IaCaJ5~6`4JaH2vbL6S0%6taN8Ga,9p9{9Ebo0_bBb3bl9=bna%9*0LaWbr9.bCbcb*b!b,a~0Yb%5ybu3%be9v0Qb0aqbsb=b)a9b+bf9*0mb|4 b~bw9Rbo0LbAb:bZbtb?c8b^ca8:0h0icd5hcfc0ac0gap9Kc5b(avb c99v0L0Ccv9:coa#cHac0/c3cCb;cEb5alci0(cLatc7cOcq9v0^cucla6a_8~bGaD93bI0%6H97bR8v4!bP8zaE5,c^8EaOcP9*0Tb/c4cUb}cNbvcyd5cB8@d9cedbcGc(ac0$0=c!9nc$dcd4a~df0eb2dadrdkbjam0*ckd8cmc6cFcg8Pb#dEcTdGb(bEc/cDbH2i4@bK999g3z4^c}c`5q6VbV8FbXdxbxbo0n0XdpbkdIdda~dMdgdOdyd?dt8W0+d;cxd~0e0^d_dwcDd|cWd-b_8W0/d:c,agbbdzdJ9(bo0hcKegaYe9bmdl9*0Qb{epa,d}et8:0ncZexc.b@dBd.0:e1djeka:ec0e0;0NeKejd@8W0$a*eEeiezeHeO0LeReYcndz8 dOdT0i3!6,c_dXaKe:8xbQe?bM5Ge;d2bWe30vc+dFc-eZeacheO0Sf3dNf5e*e!a{am0Seff4ehfef7dKeO0Qdvd,cweLeU0e0veSffb6eO0zfre8di04dQ6LdSc;aA6|e=c 6`5sd#e{bSfMe eMbkbYfdfgcidoe)dHfneleO0*d7fcflf(ese#cr8W0rf-d`fZcVf;f!e$fDdhfteTe32Jfyf)eNf?ane(fkeqfFfzcXeO0;0Kg6f}fAg90Sgjf%f|eGf~g90jeDgceyg7a|eO0Tgbf.gdg2gfebg90QfjgEgyglggg90k0ZgkfIcUe.5V79fN8B5G5Ke_c~g!gX9i3%d3eA8W0DeogxeFcpf=9v0je6fscMg3g.0e0Qgpg=f6gOgI9v0+gLf`f/grg@gt9v0rgwgMg?c%g^ac0D0tgThdgmc1f_e7g1g}gHf8g90uhphkheac0ng0d{gegzam0Ff$h3fmh5hy9v0vg{fEgGhJbo0;0chBawgVfKc?5WdWfOg#3BfRh+5V5Xd)d*e30$hhhagFhwhWeO0DeXhNf:gshrac0Qbqi1hchCi49*0;h9huhHhVhPfog90*cSh`gNi3gP9v0;g;hih4iph6dmhZgqeriwhQhEfbin9|fH4sfJ7%aA5/h*g)6T2lh.iP5-g+g-e*fYhbiqczhThvc#hxij9v0nhtg|i(h}g90$ewi8iBhqi!eueJiAhIiif*g90;i-hUh|i g89v0xh!dAhD9*0/0)jafWam0;h_iff{i^iai`8:0$h2iuhOiCi*ac0LjsiGivi_ix9*0*0{jgfv0Lhoi}ihgUe-h%dU6T963k929ag#9c9efS8v60iViWjc8:0jhMjti2jCiD9*0gjzjliZi~jvj09v0hgDjAjuj.jwjditj~j-jojD8:0ri$igj5j_j7hEjKi@j^k0j`ac0kiei.dqi)kk9*0Si0j,i9dsg 0*i|khjMkjke9*0Dj+k4kwjbibcsizkBkckDgAgQkHj?h{i/dRh$iLh(aMjTc;jV5VaGjYh/6TaMfVjhd.kukIjnkxhlb-iFkUiokQaUkAkvk@kKjp8W0gi7l1kik6j/csi?l8kClak1k80OjHe30QkTkod=i:9v0Fk=k|iHbFiK8AiMbUk$d$5 bOk+iT0pbU6ilvkXjOkZjQ3Ac^lBjZ6Fc|lFk(6Td13Ge,f{gW6Td(lRk,3Ad!lVdYl+g+8_0i1f0`0d0P0=0-0E1n0A0=gz88048aj6fX0Igz0Y5X03140E0V1}0(2?0s1;0=0c1}0O7V0AlwkYlyh(e;l)lG5aiSlW3Ae~lZc:lNe/6TfMmumy0pfQl-e@mFl:8I0{1f0t4xgzl=040)0A0E0b3tm00W1f2=mU7@0d1{7_7{7}7 8183j4c#0#mplMmrlO78iOmym~mxl.m~7:g,h?9rmVl@l_l{l}l m@1am10RlomV0dmX7~lo8e0@nj1fmXmZm#nffXlom10%lo0K0b5Jno8{0,m`l#jPmE3#h;mHn3h-mLe|8qh;64l!hbl$3#8rnOmMnZg%lC7j8rlJn80XnsmZ0i0cnF04nqnwamd6l_0sl|2W0=0#lkn8l?l^l`n~l~n?nHlLa60J7S7z7N7B7K1y0c7Eoj2-2(m,1|2%7C8i0}0 110=04.

Union de dictionnaires⚓︎

Source: Codex

Écrire une fonction union qui prend en paramètres deux dictionnaires d1 et d2, dont les valeurs associées aux clés sont des nombres, et qui renvoie un dictionnaire d défini ainsi:

  • les clés de d sont celles de d1 et d2 réunies;
  • la valeur associée à une clé dans le dictionnaire d est la somme de ses valeurs associées dans les dictionnaires d1 et d2 si la clé est présente dans ces deux dictionnaires et sinon la valeur associée dans le dictionnaire où elle est présente.
Exemples
Python
1
2
3
4
5
6
7
8
>>> union({1: 4, 2: 3}, {1: 5, 3: 7})
{1: 9, 2: 3, 3: 7}
>>> union({}, {'a': 7, 'b': 5})
{'a': 7, 'b': 5}
>>> union({'a': 7, 'b': 5}, {})
{'a': 7, 'b': 5}
>>> union({'Aya': 15, 'Edith': 12}, {'Edith': 15, 'Aya': 12})
{'Aya': 27, 'Edith': 27}
###(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
.128013it3adv,n{2S5wbcy+14: f-up08)_}9eklohrP=[s6(]/mg7050f0G0c0e0b0I0P0v0p0I0e0P0P0N010c0b0z010406050P0y0U0U0e0L0q040l0J0I0y0;0J0i050T0{0}0 110_0z04051h1a1k0T1h0_0f0b0g0)0+0-0/0+0i0V0y0e0V0G0x0z0q0c0K180v0K0b0V0K0I1M0K0c0@050!0o0I0G1t0,0.011L1N1P1N0c1V1X1T0c0L1i1H0)140P0z0e0i0/0k011Z1v010w0$0G0i0e0U0G1T1^1`1 1#221X25270@0a0v0M0L0J0z0J0P0b170i0v0Y1?0L0L0G0p2s1a2a0i1i0T1H2F1/1;1:1U0f2c1w0b0i242p1T1q1s0*1!2P2R0i0J2V1T0z2y1i2D2F2,0`1_2t2X202#0L0~0I1T0e1K2y0w0/030D0D0p2$0G1P2!0J0x0Q0x0s0@0v0s1a0e2-2:0^2/2b2=1#2@2_2{2}0G2 01313335372S3a0x1}040v0k3h3j1`3l2D2O013q0e2`1i2|0K2~3032340Y3A2#3C0d3e0d3I2C3k0_3M3o0/3P3R053T3V3w3X3z2Q3B3b0t3e0t3*1b3,3m2;1u3p0J2^3Q3s3U3u3W3y3Z3|3#3b0m3e0m422,3-2:3N3;4c3^3x3Y364i393b0Q3e0Q4o443.473:493r3S3t3v4w3{383C0W3e0W4F3K4q3n4I3O4K4b4M4d4O3`4h4R3b0B3e0B4W2E4Y462Y4#4a3=3@4e3_4g4y4-0x0F3e0F4=3L4r3/4`4L3?4N4f4x3!4A3c0A0@0s0A571l2*1a2V2I0f1;2N5a4x2U1r1i2)0G2+3k3+3K054x5E2b0b0f0/322D3C3d4M5M5O505h5R1~2g0G5V5g4z5Y2F3i453N0H0@0Y0w5G2E5,5a0n3e5=5K4^2?0w0@0y0i0b185{5@4!0?040R654H4_0i5/3g435H6c20680h5{0v666d5/3H6h5?6j1#680C0u5{0_6t5|0v5U015P2:3C3E5d6F4+513}3D5Z265#6G5W5(3b6K0T3i0v6#6o6v3:5/6n6p200J0@0N6+6(01680j0E6A6b4r6M0D5Q3b3%5T5N6U5%523%0v5!5$4Q6P713I6$6%594!5.040w496;7h6q040*0G7n4Z4_0J5_042Q7t5}3p6f6{7u6k0@6z6C6B2.3M6}6 0x3 727a4,6P3 786S7S6O4j7P1T6Z3F7f6$6,7C040f7E7B0/680O7/4s0@7r7@5a680S7A3N6.046:6C7g7F7,0f6g7L7o7G047?6C7+6)7q1X7{670@7~7J7@7N6I4k3s6}756P4l7W277Y5X8s5*7(6#8g017j7l0L7 5a6e8i7s848G7w0@7z8Q6=8N0f6s8a867;7H6`8f7M736H1`3C4C7R747b7!4C8y6T6N8B3a7$6!7)8F6=7j0b5;8V8b7,7`958#018S042#0c8L4!9c8U2,857:3O6*8)968$047I4p8p8+6~8r0x4T8:8`6W9z6R8z8;7T7!9A7e8 7)8G8X8k4_7=9Q2?7_8j9p9a7}9g7v6/9!9U7-8Z5F6=9S9X9m8N988!9m9Z8o9.6E9w7O4/9B6V524/8^8A9D9}9L8 8G7j360P8P9=3N689t449_8q8-3b549~8v7!54a29H7Z5iama69M909q9n7-9T6w0@8ead8M9Vac9+az9@9k8R9$999/9oaG8l8daC8h9;aK9Y8m9%1#810ra$8h8YaW6?aEa-9:9WaT9Ra#9^adaj0i5R5kan8=5i5m9F8_9 6Pb28D7fa80@2y0c0y0L19aQ7^aBa_5F0T5J5p5D5r5A1a0c5ubs2L2G0e1Wbp0T5s6B0Y0!0$0P04.

Recadrer les mesures d'une liste⚓︎

Lorsqu'on utilise une sonde pour obtenir des mesures, par exemple des températures, il se peut que des mesures soient trop petites ou trop grandes. On modifie alors ces mesures pour qu'elles ne sortent pas de l'intervalle défini à l'avance.

On donne une liste de réels mesures et deux réels val_min et val_max. On garantit que val_min est inférieur à val_max.

Compléter le code de la fonction recadre qui :

  • prend en paramètres une liste de nombresmesureset les nombresval_minetval_max` ,
  • modifie la liste mesures de sorte que :
    • tous les éléments de mesures qui sont strictement inférieurs à val_min sont remplacés par val_min,
    • tous les éléments de mesures qui sont strictement supérieurs à val_max sont remplacés par val_max.

Cette fonction modifie en place le tableau mesures et ne renvoie rien.

Exemples
1
2
3
4
5
6
7
8
>>> mesures_1 = [1, 2, 3, 4, 5, 6]
>>> recadre(mesures_1, 3, 5)
>>> mesures_1
[3, 3, 3, 4, 5, 5]
>>> mesures_2 = [7.1, -9.0, -3.1, 15.0, 987.7, -624.89]
>>> recadre(mesures_2, -5.3, 15.0)
>>> mesures_2
[7.1, -5.3, -3.1, 15.0, 15.0, -5.3]
###(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
.128013it3a;dv,n2S5wbcy14: f-up8)_elohxrP=[s6(]/mgk050g0C0c0e0b0D0L0u0p0D0e0L0L0J010c0b0y010406050L0x0Q0Q0e0H0q040l0E0D0x0-0E0j050P0@0_0{0}0=0y04051d161g0P1d0=0g0b0h0#0%0)0+0%0j0R0x0e0R0C0w0y0q0c0F140u0F0b0R0F0D1I0F0c0:050W0o0D0C1p0(0*011H1J1L1J0c1R1T1P0c0H1e1D0#100L0y0e0j0+0k011V1r010v0Y0C0j0e0Q0C1P1;1?1{1X1~1T21230:0a0u0I0H0E0y0E0L0b130j0u0U1/0H0H0C0p2o16260j1e0P1D2B1+1-1,1Q0g281s0b0j202l1P1m1o0$1W2L2N0j0E2R1P0y2u1e2z2B2(0?1=2p2T1|2X0H0`0D1P0e1G2u0v0+030B0B0p2Y0C1L2W0E0w0z0w0r0:0r160e2)2,0;2+272.1X2:2=2@2_0C2{012}2 31332O360w1_040k3c3e1?3g2z2K013l0e2?1e2^0F2`2|2~300U3v2X3x0d0:0d3C2y3f0=3G3j0+3J3L053N3P3r3R3u2M3w370s0:0s3!173$3h2-1q3k0E2;3K3n3O3p3Q3t3T3?3V370m0:0m3|2(3%2,3H3+463/3s3S324c35370M0:0M4i3f1h2$162R2E0g1-2J3)014r2Q1n1e2#0C2%4A3}3E054r4R270b0g0+2~2z3x393M0u4Z4#4a4s344(1`2c0C4-4r3U4u381P0P3d3 3H0S0:0U0v3#4U3(410+0n0:0u562A504J0j0v0:2u0p0e0g2u5e4X402U010/040N5q5g593I0:230@2u0L5y585t5v0i5q5d5I2/0:0h3K0B0Q2M5H4l4J5K5M5z5t0j5Q5S0`0G5W3i5A5v0A0t5q0=4T5f3G4,014$2,3x3z3-4+4!5{4.4`5~4=224@634_4t662B3d0u6g5N5X5A52040v435!5O3k0:0b6p6j5t0E5b045V5@046i5-5$0o5k1?1y5,5s1|5v5x6B5#2/6G042b6K3H6N6V5h5C0C5E6#6Y5.0:0A5:5=6V5`5|1?3W3n6/646c373X0u4?4^3=4:6`4}6f6h746Q1X6l0b556B6D6L6r045D0x5F6(5J0:0K7j5P6z7n1X5v0O6u6E1|0E0:020D0c0f7u7d3*5(0D5T6A2*6q0+5v5;6B5?7K4l6@4%3^6?623;4b700w3_6|686~7Z3@7#726C747/6g767F7f6#7h6%6P7L5u7l7q7?6t7{6v6M0:7t7b7=017x040J7D4m7G7I157P6.7X0B7U0w4f4*6@6b7!4f7%237)4/7+8o3C7:7;7|6l4s7a2(7c8e7@6$5G827v7r7~8N7E5B7p8R6W858d4J8a020R7B8Y5A5%045R7H5*7 7}047O4j8j4-8m4w8p8k8r7+4w8u697Y8x4d0w8`8A8B757|8*7g7i8V5Y8Q7R8O808/7s8(6w0:8c879a8f8.8i6P0P4W4B4Q4D4N160c4G9C2H2C0e1S9z0P4E5?0U0W0Y0L04.

Un défi⚓︎

Pour aller plus loin, l'exercice tour d'horizon de Codex