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 :
Pythonliste_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.
.128073.128013qnié4 p0Cts5{Vvb(»A;)gI%wLah:+x2^ce},fd67m=]3y_9à çu8«[/è1Plo-ORrSk.050O0K0l0C0e0,0m0h0J0,0C0m0m0S010l0e0i010406050m0!0R0R0C0;0V040=0-0,0!180-0d0h020C0R0i0v0h0:0K1i0;0c0!0K0m050(1f1h1j1l1d0i04051Q1J1T0(1Q1d0O0e0q10121416120d0x0!0C0x0K0.0i0V0l0D1s0h0D0e0x0D0,1|0D0l1b050{0r0,0K1$1315011{1}1 1}0l2527230l0;1R1@101o0m0i0C0d160H01291(010N0}0K0d1w0K232r2t2y2b2B272E0R2G040b0h0+0;0-0i0-0m0e1r1t0_2p0;0;0K0J2#1J2I0d1R0(1@2;2l2n2m240O2K1)0e0d2D2Y231Z1#112a2~300d0-34230i2*1R2/2;3h1e2s1t362z3a0;1i0,230C1`2*0N16030W0W0J3b0K1 390-0.0H0.0*1b0*1J0C3i3l1c3k2J3n2b3p3r3t3v0K3x013z3B3D3F313I3I1b0H3O3Q2t3S2/2}013X0C3s1R3u0D3w3y3A3C0_3+3a3-0U1b0U3;2.3R1d3^3V163{3}053 413%433*2 3,3J0g1b0g4c1K4e3T3m1%3W0-3q3|3Z403#423)454r473J0n1b0n4x3h4f3l3_4j4H4n3(443E4N3H3J0P1b0P4T4z4g4C4i4E3Y3~3!3$4#4q3G3-0Q1b0Q4.3?4V3U4;3`4?4G4^4I4`4p4M4}3J0#1b0#522:544B37574F4k4m4J4o4L4%5f0.0X1b0X5k2;3e0K2;342@0O2n2|4h014$331!1R5E3g3R4d3?054$5T2J0e0O163A2/3-3L4^5#5%5v464)3K2x2O0K5.4$5:5*230(3P4A3_0?1b0_0N5V2:605M0A1b0h665Z5n3o0N1b0-0!0W0K0G110!2Z0N0W0r2!1I4y5W4:5o1a040s6d68560d1b0C6D6y2z6A0M6d6c6K3W1b0r6J4W5M6A0w0E6d1d6w673^5-015(3l3-2w5,5$6*5/4(6-5?2F5_4|4s3.2;3P0h706P6V5662040e656$0472555o6G046I797b6f2b0-1b0S0S6O6E7d6S6U7c6L1b6Z796#3j6(6:6+2t483Z6)5d5w6|490h5@6`5e7K5}6 717T7q2z752*0l0!0;0d7p6Q160R0e1b0j6!7t1t7H0W5)4t7G7C6=5x4u7M6_6;5`6?7@6~7a717V2b7X0`7!7$7h867)7+043N7y7/0h7;7?0.4Q6/7O7J4O8n6^2P8q5{4P7R3S79608l6,4*7^8w810.4+7}8v7 6{8s4+837z5U7B5.8m4 8p8N7P8s4 8L5^8Z8r5;8X4c7(0175648j696b8=6F6h046j6l6n1p6q0W1 0m0l1H8^6z1b6C8B8.7e92940W8h7A7397046N8c9b1b9d0K0W3:9a9i7v046Y7.9t5!7_8m5h8Y7I8x0.5h8%8H5x9D3;7U9n040{0}277%9u7k7m9U7u3W0r9o2D969v999h9Z4i9o0e939q9g8T9V166X9y9+7:9B8E5y8G8)9G5z9Ja18I5z839O9@8/1b7Y8a9Y7j9^1b0%9(6R8{6k6m6o906t0l6v9{3_6A9*9?9,3`9.9:9fakah04aj9zagaA76aE016A0T9l3h7i4XaB9e9sau6WaiaM7e0eaMaO0waf611b0N4Ea*5Ma#a/560-6a768baR8d3`9#040;2t1/a%98a!1b9R0,9TaIav1b0w0T9`5U0(5Y1U3f1J5H1J0l5Jbn2`2=0C265Fbl5Q1P6e3_2*0R0W0N0C0?9q0D49041B1D1F1H0h7x3j1W3S1Q0a0h0/1t0d001H0l0h2s0 0-261|0f0M2p1h28270h1f0x0x0)2*0h0,000f3a0d0Jb-0h2%0J0;0f0K0;0h0!300ha-c12#0h016j0hao8 772x2D2l280_0!0G0har0mb.bN7M6j0 0C0q1s0 3a1hc8c42t0 0J0`942(2*2,0e1_5X3Dam8}ap776s6u1J5Y0@1U3S343_0C0O0R1s2!cU7:0da-1b1Pc.c:c=2#0.180l2j040pc92Z1_cE2+6c5Y7nc(cXc+1Y1!3_1*1,1.1:1=1@1_2d1~2022bz5M2M2D2F1b0+1?1^a`5U5S4A3=67bi8U6;5)0U5=9E7`3,dP3La49F6?dU2x5b4K804}dZ83a|8:3#aMa^6cbaa:8`8|cm6pc#9patayaJawb5049paDd;566Ma=7re19/aVb39wbQ4zba8D7EdP6.4l8k7_d%dT3.dWdS47ejd!4!dXd(6}9N859P9pe72z7l047o9maa6A0%be8ieg9}ei0.bJel7;eoeteS8u8(exep7Ld#5ueW3HdPeT5~8470d+a,a.eJaza;e@aJa@1b2 eE9!acb10Kecax6xaa0da~2Nf4e0e29=f6az6X9xeOaueh0deS0.4udRe*fn7|7Na5ey7|e(4{8!e+fo8z7Ta9az7577e 9-e9aCfe6%eKaZe4e8a$fR9veNa{8.eGdee`aTfLebfU2beLe0fTaXe51b0Tee538jflfn8oeUen8OfB4QerfrdPf fye#eXf`e.fEg9aSa:aUf3f)16eGc*gfaK0C0i0i2D0Ofbgj7*7,eca)fjd}em8V6,dP8Qf{9Kep8Kfug5fB8Kg4esgJfDgae;043E0mgef.9jf=5lf@eQfmdP8,3ueVf}fn8$gHgMg+ev5tfz8*g/a8gafFaJ9ceagUgx5Mghe0glgn0dgpgjd gr8ffNdwf/9wbfff9|gzeR9Mg(f|fAfn9Ig-g19Hg:5cg.dP9Mg8eBaa887Z7#fJaKeDgw5Wbhdg1Wbk0(5H6#hO0^dj5Mc/c;0dc?1_2 c`bTc}hVhXfmd2d4d60;d81t1j2!0D0R0f18bNdh1S04bX0hbB1jcAcA7x1X050!0,3S1 hc5oh:1@1i940G1b090s0j0F0j0S0j09gvbRi91di9a|ich=0Cifihij0F0*0S0*ip6D0(is05iu8.iwie6miA0*iliEiG8BiI0ei8iXiv0;h;iOig04iiiRiD0HiUaR0`c41s0Jgb56iNiyiPi)0s0si+0w0h090z0h0H0h0S0hioiqbgiJ0(i6c,hS56dl1-1/1;dDdr202f212Haady5@dBjmdF5WdHbR3jdL4Wf^0gdQgDfv3,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|eG0FhEg|aCj_hgbbaGf,ec0Tja3?j?eF1b0zhEgs04kG2:kP87e=0;kDe}hEe|a_kDa~b01+g~kHklknia3of99%h7b4kukqgubdhf67hJ0_5DhMhQhNbxhR35i^c~hWchhZeGc|hTlch(d12!h+d7c@8k0d940;1Z94h`1Q0B002W0fb0947!0h0$0hckd^6q0h0tcllrb{ctcvcxcl0Gg}lN2TjwbPdccX0Idfl30@060y0,0hh@0|b$2 lslucL0dcNi:6mc90J0ecOgii4c-5Mjidnjl3C1tdsjpdva|jtdA04dCdq1t0kcG1o280=1Hh.6DjzbgjBdgdM7Dfm0njGk3jI47myjL7~gI8n5=kbe)g*mD8za|0x6A020x0l0vmRmTmV1zaMkU7-kka?1bl$m$5om!l0bzf^myk2gymB3Hm:k7m?mH2wmJg=5{m^d*8.0xeGm#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 ofnvn6bRbihLbvl70qbTh|h/7!l/i;c1b%0!l-c60elP28bE0Z1_0i8 2pc19/280Ed:m1jg5om4jkdpdE1`jodujrazmd2PjvmhmqbkjA5UjC9An80Pmzomg.pumE8MmGpynim~6?pCnmfG63d-jW8@kujZcZcnj%g}d|k:hdk=a|kE9ekr8.e6nwalj^gugX8Ao1ptezo5g*pum|nfg?p=pDpBezhykghAac89hDp%aF0%pWeCg}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~4X0-cQo 0ec8c{1e1g1D1l0ugm2Vcf1Z141CcqlZb}lAlC0KlEcWl3m)5Yc428mgpd2Wb`28ar0h0Ycw2!2.q^1No+0+1jlT1Co p4e:bS1djeitiZiMi#idi`i(ii0Q0W0o0*0j0Lj70*rS9ri.j=d:iJiLaai_izi|0XrMrOrQrO0j0*rUqz2;jcrCh{0:0f3|9/cGb|280G4Ernb$rmrkp5h`2i5F1d1@0Kc/3S2^s90Db?0l0V2716if0l0.r`0x0dp5cOlrc90v5}2?sfshsj8(smso2fsr10cqsvnvsy24sg93sBsl6msnspsGstlssw8gbn0DsdsNsisk17sRsE1|sUsI0;sX8hsL2osOs(sDsTsss.s:sZ8AsesZsb5Js90r3b1O242ms92|s@sCs*s`sHsus/2H2l1s0x04r qD932V1+5Isdtbs%td0GsSsFs{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 t50Ot7bsbuo+0/cai!i$rIiQrS0j9riE0gr)rPrVhIp7lap9b1jjdo0Vm7pe2epgqq16pj2Qrf1_mjl^ml0hmn14c@pnbvpp5WprhhnX7E0Qpvg)hnvtpze!g.vxp`vAjSoXownpozoyn?mZ8f51qmeGnzkz8.kU5Bq!m.o2vtm;vvg?vYo8vDm|oUvwp|vFazn33M4wvVl%o(q%l60_b70m8Av_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.
# Tests
(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)