Ou exclusif entre deux tableaux

L'opérateur « ou exclusif » entre deux bits renvoie 1 si le premier est égal à 1 ou le second, mais pas les deux (exclusion du cas où les deux sont égaux à 1). Il est symbolisé par le caractère ⊕.
Ainsi :

  • 0 ⊕ 0 = 0
  • 0 ⊕ 1 = 1
  • 1 ⊕ 0 = 1
  • 1 ⊕ 1 = 0

On représente ici une suite de bits par une liste contenant des 0 et des 1.

Exemples :

Python
liste_a = [1, 0, 1, 0, 1, 1, 0, 1]
liste_b = [0, 1, 1, 1, 0, 1, 0, 0]
liste_c = [1, 1, 0, 1]
liste_d = [0, 0, 1, 1]
Ou exclusif entre tableaux

Écrire la fonction ou_exclusif_listes qui prend en paramètres deux listes non vides de même longueur (constituées uniquement de 0 et de 1) et qui renvoie une liste où l’élément situé à la position i est le résultat, par l’opérateur « ou exclusif », des éléments à la position i des listes passées en paramètres.

En considérant les quatre exemples ci-dessus, on obtient :

Python Console Session
>>> ou_exclusif_listes(liste_a, liste_b)
[1, 1, 0, 1, 1, 0, 0, 1]
>>> ou_exclusif_listes(liste_c, liste_d)
[1, 1, 1, 0]

Contrainte

Vous ne devez pas utiliser l'opérateur ^de Python.

###(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

.128013.128073C;=wSd-gnh.+%uerv6x,é9«OVtèàk5b]}l[f:431(AaRIp/)omçq^ 72i»yc8s_LP0{050h0q0B0S0*0J0/0%0-0J0S0/0/0e010B0*0V010406050/0p0Z0Z0S0r0,040g0Y0J0p180Y0k0%020S0Z0V0d0%0T0q1i0r0#0p0q0/050W1f1h1j1l1d0V04051Q1J1T0W1Q1d0h0*0s10121416120k0j0p0S0j0q0i0V0,0B0l1s0%0l0*0j0l0J1|0l0B1b050{0G0J0q1$1315011{1}1 1}0B2527230B0r1R1@101o0/0V0S0k160)01291(010L0}0q0k1w0q232r2t2y2b2B272E0Z2G040a0%0=0r0Y0V0Y0/0*1r1t0_2p0r0r0q0-2#1J2I0k1R0W1@2;2l2n2m240h2K1)0*0k2D2Y231Z1#112a2~300k0Y34230V2*1R2/2;3h1e2s1t362z3a0r1i0J230S1`2*0L16030:0:0-3b0q1 390Y0i0)0i0P1b0P1J0S3i3l1c3k2J3n2b3p3r3t3v0q3x013z3B3D3F313I3I1b0)3O3Q2t3S2/2}013X0S3s1R3u0l3w3y3A3C0_3+3a3-0O1b0O3;2.3R1d3^3V163{3}053 413%433*2 3,3J0N1b0N4c1K4e3T3m1%3W0Y3q3|3Z403#423)454r473J0F1b0F4x3h4f3l3_4j4H4n3(443E4N3H3J0t1b0t4T4z4g4C4i4E3Y3~3!3$4#4q3G3-0(1b0(4.3?4V3U4;3`4?4G4^4I4`4p4M4}3J0.1b0.522:544B37574F4k4m4J4o4L4%5f0i0x1b0x5k2;3e0q2;342@0h2n2|4h014$331!1R5E3g3R4d3?054$5T2J0*0h163A2/3-3L4^5#5%5v464)3K2x2O0q5.4$5:5*230W3P4A3_0E1b0_0L5V2:605M0f1b0%665Z5n3o0L1b0Y0p0:0q0u110p2Z0L0:0G2!1I4y5W4:5o1a040Q6d68560k1b0S6D6y2z6A0v6d6c6K3W1b0G6J4W5M6A0X0M6d1d6w673^5-015(3l3-2w5,5$6*5/4(6-5?2F5_4|4s3.2;3P0%706P6V5662040*656$0472555o6G046I797b6f2b0Y1b0e0e6O6E7d6S6U7c6L1b6Z796#3j6(6:6+2t483Z6)5d5w6|490%5@6`5e7K5}6 717T7q2z752*0B0p0r0k7p6Q160Z0*1b0?6!7t1t7H0:5)4t7G7C6=5x4u7M6_6;5`6?7@6~7a717V2b7X0`7!7$7h867)7+043N7y7/0%7;7?0i4Q6/7O7J4O8n6^2P8q5{4P7R3S79608l6,4*7^8w810i4+7}8v7 6{8s4+837z5U7B5.8m4 8p8N7P8s4 8L5^8Z8r5;8X4c7(0175648j696b8=6F6h046j6l6n1p6q0:1 0/0B1H8^6z1b6C8B8.7e92940:8h7A7397046N8c9b1b9d0q0:3:9a9i7v046Y7.9t5!7_8m5h8Y7I8x0i5h8%8H5x9D3;7U9n040{0}277%9u7k7m9U7u3W0G9o2D969v999h9Z4i9o0*939q9g8T9V166X9y9+7:9B8E5y8G8)9G5z9Ja18I5z839O9@8/1b7Y8a9Y7j9^1b0K9(6R8{6k6m6o906t0B6v9{3_6A9*9?9,3`9.9:9fakah04aj9zagaA76aE016A0H9l3h7i4XaB9e9sau6WaiaM7e0*aMaO0Xaf611b0L4Ea*5Ma#a/560Y6a768baR8d3`9#040r2t1/a%98a!1b9R0J9TaIav1b0X0H9`5U0W5Y1U3f1J5H1J0B5Jbn2`2=0S265Fbl5Q1P6e3_2*0Z0:0L0S0E9q0l49041B1D1F1H0%7x3j1W3S1Q0b0%0z1t0k001H0B0%2s0 0Y261|0w0v2p1h28270%1f0j0j0C2*0%0J000w3a0k0-b-0%2%0-0r0w0q0r0%0p300%a-c12#0%016j0%ao8 772x2D2l280_0p0u0%ar0/b.bN7M6j0 0S0s1s0 3a1hc8c42t0 0-0`942(2*2,0*1_5X3Dam8}ap776s6u1J5Y0m1U3S343_0S0h0Z1s2!cU7:0ka-1b1Pc.c:c=2#0i180B2j040Ac92Z1_cE2+6c5Y7nc(cXc+1Y1!3_1*1,1.1:1=1@1_2d1~2022bz5M2M2D2F1b0=1?1^a`5U5S4A3=67bi8U6;5)0O5=9E7`3,dP3La49F6?dU2x5b4K804}dZ83a|8:3#aMa^6cbaa:8`8|cm6pc#9patayaJawb5049paDd;566Ma=7re19/aVb39wbQ4zba8D7EdP6.4l8k7_d%dT3.dWdS47ejd!4!dXd(6}9N859P9pe72z7l047o9maa6A0Kbe8ieg9}ei0ibJel7;eoeteS8u8(exep7Ld#5ueW3HdPeT5~8470d+a,a.eJaza;e@aJa@1b2 eE9!acb10qecax6xaa0ka~2Nf4e0e29=f6az6X9xeOaueh0keS0i4udRe*fn7|7Na5ey7|e(4{8!e+fo8z7Ta9az7577e 9-e9aCfe6%eKaZe4e8a$fR9veNa{8.eGdee`aTfLebfU2beLe0fTaXe51b0Hee538jflfn8oeUen8OfB4QerfrdPf fye#eXf`e.fEg9aSa:aUf3f)16eGc*gfaK0S0V0V2D0hfbgj7*7,eca)fjd}em8V6,dP8Qf{9Kep8Kfug5fB8Kg4esgJfDgae;043E0/gef.9jf=5lf@eQfmdP8,3ueVf}fn8$gHgMg+ev5tfz8*g/a8gafFaJ9ceagUgx5Mghe0glgn0kgpgjd gr8ffNdwf/9wbfff9|gzeR9Mg(f|fAfn9Ig-g19Hg:5cg.dP9Mg8eBaa887Z7#fJaKeDgw5Wbhdg1Wbk0W5H6#hO0^dj5Mc/c;0kc?1_2 c`bTc}hVhXfmd2d4d60rd81t1j2!0l0Z0w18bNdh1S04bX0%bB1jcAcA7x1X050p0J3S1 hc5oh:1@1i940u1b090Q0?0n0?0e0?09gvbRi91di9a|ich=0Sifihij0n0P0e0Pip6D0Wis05iu8.iwie6miA0PiliEiG8BiI0*i8iXiv0rh;iOig04iiiRiD0)iUaR0`c41s0-gb56iNiyiPi)0Q0Qi+0X0%090o0%0)0%0e0%ioiqbgiJ0Wi6c,hS56dl1-1/1;dDdr202f212Haady5@dBjmdF5WdHbR3jdL4Wf^0NdQgDfv3,jFdVhqg*jKhtd$jNjGe.gQ8;gjd/a!d?an8~d_6rd{gqgV3ogde3j*f*1baQ3Ri@e8e2aWg hdfi4UgZhifmjFekhlgE47k1eZk43Hk64_jQhnk6g^e:8.hBaef#aYaGf5fOe^j,hba|f+gje_j.aFfWj=a|eG0nhEg|aCj_hgbbaGf,ec0Hja3?j?eF1b0ohEgs04kG2:kP87e=0rkDe}hEe|a_kDa~b01+g~kHklknia3of99%h7b4kukqgubdhf67hJ0_5DhMhQhNbxhR35i^c~hWchhZeGc|hTlch(d12!h+d7c@8k0k940r1Z94h`1Q0;002W0wb0947!0%0y0%ckd^6q0%0+cllrb{ctcvcxcl0ug}lN2TjwbPdccX0$dfl30m060U0J0%h@0|b$2 lslucL0kcNi:6mc90-0*cOgii4c-5Mjidnjl3C1tdsjpdva|jtdA04dCdq1t0ccG1o280g1Hh.6DjzbgjBdgdM7Dfm0FjGk3jI47myjL7~gI8n5=kbe)g*mD8za|0j6A020j0B0dmRmTmV1zaMkU7-kka?1bl$m$5om!l0bzf^myk2gymB3Hm:k7m?mH2wmJg=5{m^d*8.0jeGm#j}ePj mHeTmAmGmy7LjMhnndjPmKngeYn1aamP1bmXnqmSmYh9gtm*kQ04m)fXaakUhb8SkHm/fCfqmLfCg0nJfxewg.myfp8-nneGnDj~dN6,myf`nbnP8tnLnkg3nOfrnZmNn2mQnsnrmTd:kw01nCk(m(kT8fn5effkg!mHgCn#n,8Jm_nco7m}o9gCjTn2nUm-8Co2myg%m=o9g,mFn$8$gLo68,oennn:mWn;nsn@j`m+han{nyn}3Mohmv7=nYhsnInkhpopo69IosnJhx5 ofnvn6bRbihLbvl70sbTh|h/7!l/i;c1b%0pl-c60*lP28bE0!1_0V8 2pc19/280Md:m1jg5om4jkdpdE1`jodujrazmd2PjvmhmqbkjA5UjC9An80tmzomg.pumE8MmGpynim~6?pCnmfG63d-jW8@kujZcZcnj%g}d|k:hdk=a|kE9ekr8.e6nwalj^gugX8Ao1ptezo5g*pum|nfg?p=pDpBezhykghAac89hDp%aF0KpWeCg}j-oC9vaHn^kvqaj/04kykOkAn|q3hFq8kWk?qgqcqffKf-qtaNf:kNkXgQa-k#qmqeqjfYa^e~qEk,f2j)qwf89$jxkod~k{qdk}k`9wk hHl1o$dHo)c,0`0|0~4X0YcQo 0*c8c{1e1g1D1l0Rgm2Vcf1Z141CcqlZb}lAlC0qlEcWl3m)5Yc428mgpd2Wb`28ar0%0Dcw2!2.q^1No+0=1jlT1Co p4e:bS1djeitiZiMi#idi`i(ii0(0:0@0P0?0Ij70PrS9ri.j=d:iJiLaai_izi|0xrMrOrQrO0?0PrUqz2;jcrCh{0T0w3|9/cGb|280u4Ernb$rmrkp5h`2i5F1d1@0qc/3S2^s90lb?0B0,2716if0B0ir`0j0kp5cOlrc90d5}2?sfshsj8(smso2fsr10cqsvnvsy24sg93sBsl6msnspsGstlssw8gbn0lsdsNsisk17sRsE1|sUsI0rsX8hsL2osOs(sDsTsss.s:sZ8AsesZsb5Js90G3b1O242ms92|s@sCs*s`sHsus/2H2l1s0j04r qD932V1+5Isdtbs%td0usSsFs{thsX1etkts9gtFtmbnt32{sAs^tetAtgsWtjtrtmn5tItttatNtxtzs,tBtS3gtXtWtUtYtMtcsQtys+sqt(sJt*t-tHt-tKs t9t8tut!t;t$t@tRt_tEt-eItqtlt.bou3s)t=tfsVu8uctG2.tXt~tZt:uhu5s-tCtTudt|uduqt/twu4t?uvt)u9uyuot}2=tLufuss_tQuktit`udt,uAuMt s t50ht7bsbuo+0zcai!i$rIiQrS0?9riE0Nr)rPrVhIp7lap9b1jjdo0,m7pe2epgqq16pj2Qrf1_mjl^ml0%mn14c@pnbvpp5WprhhnX7E0(pvg)hnvtpze!g.vxp`vAjSoXownpozoyn?mZ8f51qmeGnzkz8.kU5Bq!m.o2vtm;vvg?vYo8vDm|oUvwp|vFazn33M4wvVl%o(q%l60_b70/8Av_q*0}v|.
Astuce

Vous pourrez écrire une fonction ou_exclusif_bits qui prend en paramètres deux entiers égaux à 0 ou 1, et renvoie l'entier obtenu avec le ou exclusif appliqué à ces deux entiers.