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.128013A_4:L2-.SwV3%/]+7bçpPiqI{o1tl(9^ ;=vm6u8RsèCfrO}gà e[hcé0»5a,«nkydx)050=0!0D0,0x0E0R0I0%0E0,0R0R0K010D0x0v010406050R0O0M0M0,0V0;040k0B0E0O180B0/0I020,0M0v0J0I0Q0!1i0V0y0O0!0R050p1f1h1j1l1d0v04051Q1J1T0p1Q1d0=0x0L10121416120/0Y0O0,0Y0!0i0v0;0D0$1s0I0$0x0Y0$0E1|0$0D1b050{0t0E0!1$1315011{1}1 1}0D2527230D0V1R1@101o0R0v0,0/160h01291(010U0}0!0/1w0!232r2t2y2b2B272E0M2G040b0I0w0V0B0v0B0R0x1r1t0_2p0V0V0!0%2#1J2I0/1R0p1@2;2l2n2m240=2K1)0x0/2D2Y231Z1#112a2~300/0B34230v2*1R2/2;3h1e2s1t362z3a0V1i0E230,1`2*0U16030d0d0%3b0!1 390B0i0h0i0C1b0C1J0,3i3l1c3k2J3n2b3p3r3t3v0!3x013z3B3D3F313I3I1b0h3O3Q2t3S2/2}013X0,3s1R3u0$3w3y3A3C0_3+3a3-0n1b0n3;2.3R1d3^3V163{3}053 413%433*2 3,3J0e1b0e4c1K4e3T3m1%3W0B3q3|3Z403#423)454r473J0+1b0+4x3h4f3l3_4j4H4n3(443E4N3H3J0N1b0N4T4z4g4C4i4E3Y3~3!3$4#4q3G3-0s1b0s4.3?4V3U4;3`4?4G4^4I4`4p4M4}3J0P1b0P522:544B37574F4k4m4J4o4L4%5f0i0G1b0G5k2;3e0!2;342@0=2n2|4h014$331!1R5E3g3R4d3?054$5T2J0x0=163A2/3-3L4^5#5%5v464)3K2x2O0!5.4$5:5*230p3P4A3_0:1b0_0U5V2:605M0l1b0I665Z5n3o0U1b0B0O0d0!0?110O2Z0U0d0t2!1I4y5W4:5o1a040F6d68560/1b0,6D6y2z6A0-6d6c6K3W1b0t6J4W5M6A0@0f6d1d6w673^5-015(3l3-2w5,5$6*5/4(6-5?2F5_4|4s3.2;3P0I706P6V5662040x656$0472555o6G046I797b6f2b0B1b0K0K6O6E7d6S6U7c6L1b6Z796#3j6(6:6+2t483Z6)5d5w6|490I5@6`5e7K5}6 717T7q2z752*0D0O0V0/7p6Q160M0x1b0)6!7t1t7H0d5)4t7G7C6=5x4u7M6_6;5`6?7@6~7a717V2b7X0`7!7$7h867)7+043N7y7/0I7;7?0i4Q6/7O7J4O8n6^2P8q5{4P7R3S79608l6,4*7^8w810i4+7}8v7 6{8s4+837z5U7B5.8m4 8p8N7P8s4 8L5^8Z8r5;8X4c7(0175648j696b8=6F6h046j6l6n1p6q0d1 0R0D1H8^6z1b6C8B8.7e92940d8h7A7397046N8c9b1b9d0!0d3:9a9i7v046Y7.9t5!7_8m5h8Y7I8x0i5h8%8H5x9D3;7U9n040{0}277%9u7k7m9U7u3W0t9o2D969v999h9Z4i9o0x939q9g8T9V166X9y9+7:9B8E5y8G8)9G5z9Ja18I5z839O9@8/1b7Y8a9Y7j9^1b0#9(6R8{6k6m6o906t0D6v9{3_6A9*9?9,3`9.9:9fakah04aj9zagaA76aE016A0q9l3h7i4XaB9e9sau6WaiaM7e0xaMaO0@af611b0U4Ea*5Ma#a/560B6a768baR8d3`9#040V2t1/a%98a!1b9R0E9TaIav1b0@0q9`5U0p5Y1U3f1J5H1J0D5Jbn2`2=0,265Fbl5Q1P6e3_2*0M0d0U0,0:9q0$49041B1D1F1H0I7x3j1W3S1Q0a0I0W1t0/001H0D0I2s0 0B261|0(0-2p1h28270I1f0Y0Y0S2*0I0E000(3a0/0%b-0I2%0%0V0(0!0V0I0O300Ia-c12#0I016j0Iao8 772x2D2l280_0O0?0Iar0Rb.bN7M6j0 0,0L1s0 3a1hc8c42t0 0%0`942(2*2,0x1_5X3Dam8}ap776s6u1J5Y0j1U3S343_0,0=0M1s2!cU7:0/a-1b1Pc.c:c=2#0i180D2j040mc92Z1_cE2+6c5Y7nc(cXc+1Y1!3_1*1,1.1:1=1@1_2d1~2022bz5M2M2D2F1b0w1?1^a`5U5S4A3=67bi8U6;5)0n5=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}ei0ibJel7;eoeteS8u8(exep7Ld#5ueW3HdPeT5~8470d+a,a.eJaza;e@aJa@1b2 eE9!acb10!ecax6xaa0/a~2Nf4e0e29=f6az6X9xeOaueh0/eS0i4udRe*fn7|7Na5ey7|e(4{8!e+fo8z7Ta9az7577e 9-e9aCfe6%eKaZe4e8a$fR9veNa{8.eGdee`aTfLebfU2beLe0fTaXe51b0qee538jflfn8oeUen8OfB4QerfrdPf fye#eXf`e.fEg9aSa:aUf3f)16eGc*gfaK0,0v0v2D0=fbgj7*7,eca)fjd}em8V6,dP8Qf{9Kep8Kfug5fB8Kg4esgJfDgae;043E0Rgef.9jf=5lf@eQfmdP8,3ueVf}fn8$gHgMg+ev5tfz8*g/a8gafFaJ9ceagUgx5Mghe0glgn0/gpgjd gr8ffNdwf/9wbfff9|gzeR9Mg(f|fAfn9Ig-g19Hg:5cg.dP9Mg8eBaa887Z7#fJaKeDgw5Wbhdg1Wbk0p5H6#hO0^dj5Mc/c;0/c?1_2 c`bTc}hVhXfmd2d4d60Vd81t1j2!0$0M0(18bNdh1S04bX0IbB1jcAcA7x1X050O0E3S1 hc5oh:1@1i940?1b090F0)0r0)0K0)09gvbRi91di9a|ich=0,ifihij0r0C0K0Cip6D0pis05iu8.iwie6miA0CiliEiG8BiI0xi8iXiv0Vh;iOig04iiiRiD0hiUaR0`c41s0%gb56iNiyiPi)0F0Fi+0@0I090o0I0h0I0K0IioiqbgiJ0pi6c,hS56dl1-1/1;dDdr202f212Haady5@dBjmdF5WdHbR3jdL4Wf^0edQgDfv3,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|eG0rhEg|aCj_hgbbaGf,ec0qja3?j?eF1b0ohEgs04kG2:kP87e=0VkDe}hEe|a_kDa~b01+g~kHklknia3of99%h7b4kukqgubdhf67hJ0_5DhMhQhNbxhR35i^c~hWchhZeGc|hTlch(d12!h+d7c@8k0/940V1Z94h`1Q0g002W0(b0947!0I0.0Ickd^6q0I0*cllrb{ctcvcxcl0?g}lN2TjwbPdccX0Hdfl30j060z0E0Ih@0|b$2 lslucL0/cNi:6mc90%0xcOgii4c-5Mjidnjl3C1tdsjpdva|jtdA04dCdq1t0TcG1o280k1Hh.6DjzbgjBdgdM7Dfm0+jGk3jI47myjL7~gI8n5=kbe)g*mD8za|0Y6A020Y0D0JmRmTmV1zaMkU7-kka?1bl$m$5om!l0bzf^myk2gymB3Hm:k7m?mH2wmJg=5{m^d*8.0YeGm#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 ofnvn6bRbihLbvl70LbTh|h/7!l/i;c1b%0Ol-c60xlP28bE0u1_0v8 2pc19/280fd:m1jg5om4jkdpdE1`jodujrazmd2PjvmhmqbkjA5UjC9An80Nmzomg.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~4X0BcQo 0xc8c{1e1g1D1l0cgm2Vcf1Z141CcqlZb}lAlC0!lEcWl3m)5Yc428mgpd2Wb`28ar0I0Zcw2!2.q^1No+0w1jlT1Co p4e:bS1djeitiZiMi#idi`i(ii0s0d0A0C0)0Xj70CrS9ri.j=d:iJiLaai_izi|0GrMrOrQrO0)0CrUqz2;jcrCh{0Q0(3|9/cGb|280?4Ernb$rmrkp5h`2i5F1d1@0!c/3S2^s90$b?0D0;2716if0D0ir`0Y0/p5cOlrc90J5}2?sfshsj8(smso2fsr10cqsvnvsy24sg93sBsl6msnspsGstlssw8gbn0$sdsNsisk17sRsE1|sUsI0VsX8hsL2osOs(sDsTsss.s:sZ8AsesZsb5Js90t3b1O242ms92|s@sCs*s`sHsus/2H2l1s0Y04r qD932V1+5Isdtbs%td0?sSsFs{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 t50=t7bsbuo+0Wcai!i$rIiQrS0)9riE0er)rPrVhIp7lap9b1jjdo0;m7pe2epgqq16pj2Qrf1_mjl^ml0Imn14c@pnbvpp5WprhhnX7E0spvg)hnvtpze!g.vxp`vAjSoXownpozoyn?mZ8f51qmeGnzkz8.kU5Bq!m.o2vtm;vvg?vYo8vDm|oUvwp|vFazn33M4wvVl%o(q%l60_b70R8Av_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)