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 :

🐍 Script 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 :

🐍 Console Python
>>> 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"
(Ctrl+Clic pour inverser les colonnes)
Entrer ou sortir du mode "plein Ă©cran"
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

.128073.128013Cy1-{]/wi_}qP+r%» 79fI;gR2çOh)(àpn0ld,4LAkée^bmc:35a«=o[.8tV6sSÚuxv050M0T0,0#0k0L0/0t0X0L0#0/0/0%010,0k0I010406050/0=0W0W0#0q0d040:0(0L0=180(0J0t020#0W0I0y0t0A0T1i0q0n0=0T0/050i1f1h1j1l1d0I04051Q1J1T0i1Q1d0M0k0@101214160E0k0z0E0L1+0E0,1b050{0V0L0T1$1315011*1,1.1,0,1@1_1=0,0q1R0,0E101o0/0I0#0J160B011{1(010w0}0T0J1w0T1=2e2g2l1}2o1_2r0W2t040b0t0o0q0(0I0(0/0k1r1t0_2c0q0q0T0X2O1J2v0J1R0i2a2!2729281?0M2x161.0J2q2L1=1Z1#111|2.0k2:0J0(2@1=0I2T1R2Y2!351e2f1t2_2m2~0q1i0L1b0e2X391c382w3b1}3d3f1b0B3j2g3l2Y2-013q0#3g040Z3u2Z1d3x3o163A3C0O3F3w393y3L1b0!3O3H3Q3J3z0(3e3B1b0.3V3m3a1%3p3!3r040u3)3I3,3K3.3$040+3=3X3@3Z3#3C0v3O1U331J2@2%0M292,3Y0X2 2D0^1!1R320T343k444e0_4m3n3 0R1b0_0w3O0t3*3R0w1b0(0=0l0T0?110=2M0w0l0V2N1I1K4n3?2`011a040G444T3c1b0#4Z3~4U4W0N4y4A3Y0J1b0V4(4s4*1b0F0Y3V0t4}4z4!1}4u040k4x4R3v4 4)4#044%562Z584@2m0(1b0%0%4-503K4;4?3+4^044{5d1c4~5x5f5r2m522T0,0=0q0J5m591}0W0k1b0K4|4~4.4t1b5D5F5H5v5z3y5L3h3V063W5g514v0T55355Y4/4C044E4G4I1p4L0l1.0/0,1H5q3y4W4Y5v5R4U4:045|5~0l3i645n4V1b4,5X655a690T0l3t6d5J164W4`5P4}6j3p1b0{0}1_5I5)165i045l6i6e0J0V1b2A603Y626O3 676l6b6R5s0F6u5/5S045U5G6C5A1}4W0)6W5a5?4H4J5`4O0,4Q376e6Q6p6D3z6M0k5}6m6c6`6q6f046-6}6*5o536.6+1b0h6h5.6w7c6U6o756~6,7e7c0k7r770h6Y6I76520w3!6)3R1b7t7y6~0(0j7F5W7j6J6L6$2g0z0T7u6|7o7b6 046z0L6B7a614_0h3)0i4p4l457.0i481J0,4a7?2*2#0#1^7:481P4r7X2T0W0l0w0#0R6m0E0Z1b1B1D1F1H0t5u371W3l1Q0a0t0D1t0J001H0,0t2f0 0(1^1+0S0N2c1h1`1_0t1f0z0z0;2T0t0L000S2~0J0X8B0t2Q0X0q0S0T0q0t0=2:0t7B8S2O0t014E0t6;5_542k2q271`0_0=0?0t6@0/8C8f0t2~4K0t0#0@1s0 2~1h8Z8V2g0 0X0`5~2R2T2V0k1s4z7-5=4F8;4K544N4P1J9q0*1U3l2@3y0#0M0W1s2N9n1t2|7B1b1P9E9G9I2O0f180,25040-8!2M9o972U9p4f6G6H9q9B1Y1!3y1 1-1/1;813y2z2q2s1b2F0:8X198u0o0d2a1s444k81364n9-6e524w7D5:4D9s5^9u4M6l6_4S767Vaq6~6T716a74at7X4+ah6S70726n7U4_8i3k065x7k7Y6laC4U6F6H7Nar1b0)7*5vaL5Qae1b7B0qaQ5a7GaU7I7K537M3k6!667P0q7R7T7%6P1b637W3R7P6Na|3 as3vaNavaFayb76{4_6taZ5ya#7z7F5-a=b8aEaxaH787u67a,az7(04aYa-7XaSaTbm6Jbo6m7nbva}brb4667Fbq0haJ3va!bhaMbE68awa{b03Y6F9AbL5a0#0I0I2q0Mbqa bI3 5!045Ob%7f047x35bS5yaN520T0~bYb:5sbQ3GbTb~bVaPb^6E1bb$bZaD5bb*b,b.7ub=bb2ZaN6s6Zb 5T0`5Va*6xbW727+9-1W467;4i1dcF0@9C9:3Y9F9H0J9J9o9M6F9PcM9RcP9T9V9X9Z0q9#1t1j2N0E0W0S188f9.1S048p0t831j92925u1X050=0L3l1.9_cM0qc*1i5~0?1b090G0K0p0K0%0K09b{4n0id21dd2aNc)2ad74Hdadc0p0e0%0edi44dl0kd1dDdpd5dr0#d8du0ededydA64dCdEd33 dqc+dJdt04dbdMdx0BdP5.0`8V1s0Xa?2mdVdsd9dZ0G0Gd#0F0t090r0t0B0t0%0tdhdjb7dRcHc cK2^3 9=211:2u769{2B2D9 a10Ia3a50Ea764a93*abb7adbj04ag7H7X0J5;6:al5`aoclccaObX6VeJaBeA7Ecz6abHbcaVb`c65wbi6~5Ccv6(ePbJ0)b/eUaubFeMcg5s79e:a+bOcxcd040pe_eKaFeTcpbdbKe?cybue,aA7ge45eaN6F0re}b=f004d.5*04a(e}bte}7J7Lfna^a`eIf43Kb22qfvc46keLcodT6X0FbyaK9y9*7/2!7 47cG4hea4UcN9S9K0tcS9O1S9QcOcQ0J9U2Nc!9!fW2|5~0q1Z5~c:1Q0P002J0Sa_5~5F0t0$0t8/9t4L0t0s8:0J8_8V0T8|8~4P8:0?bXg72Geo9o0Y9)4q0UfK4q0*060x0L0tc-0|8uf.8!f;9e0J9gd*4H8!0X0k9hb$c}9D3Yec9@ef6~eh9}2E0t0c991o1`a4a6a;b7es8j37ew6~0z4W020z0,0yg;g?g^1zcm5Mb?fp1bgpe(b;g}b@b|aN0z6Fh5fJ6eg/1bg`hfg=g{eJb=ha57fch0ffg}fE5(7Xh85#aZh7g:hhhgg?4zhjhqg 04h1bz5Zh43}g.6FhrhxhehzhRhBg|hvhIb!hoh24UcnhLhth9cBfLcD7~fQ1Qc?0#5Fgyd+8S8v0=gwa18M2Q860C9o0I5_2c8S711`gmc:gOeb1/ed9^aNgU2C9~0ta0d5emgjg%a846g+acfLa$ey5,fneDak6=9veHeNa~bse.fEcq6gfne.fhiHeWcsit6%g(fbf2e*iEeR73bqe=fBf5e^hZ5hhYhWch7miYiVf6f1eV7we}7A7Ci%i#i_6Ea/2|fs5TfuiC4XbsfyiRfF2mb6i:e-iWe/i!6rbefIbRgq7:escI9C0`0|0~3R0(9ji10k8ZfZ1L1D1l0Qb*2I8*1Z141C8^8h8Nf_0If{dXf~059qh19qgaimep1t2J8L1`6@0t0Hgd0,2X1gjz8l040o1jgf1Ci1i66v8k1de8dndF6ed:dXd=db0u0l0g0e0K0me10eka6nd(a=hCdm05doj~dHdWdKd?0vk4k6k8k60K0ekcfa2!kg0ij{c;0A0S3B71998N1`0?3!j(j$kLi7j_1?7|1_3l2a0T9FkT281d2a8H0,0d1_16d80,0fkE0z0Jgm9hg88!0y1=2#0EkT2b5}k%0Tk)4Hk+k-k/108^k?5N7?k`kZk|k$k(17l1k,21l4k;f/k@046c2$lbk#k~l00?l2lik:l60qlmlola1?lclslflulh1+ljlylAl93l2#kYl9kV4akZ0V2 1O1?lQ7@lrlek*lIk.lxk=lz2u271s0z04kJa)1Kl.0Jl:7?lT2+l#k lGlvlJl*lll-2Il_ln2Xl^l`2#l|l!k}l$lgl3m3l734mag~l@m6mb7@kT2,mfl l%mil5l+lm1emmh5mml{msl~ltm1l)mym4mlmpm8mol/49lO2(kZlZmtldmvmhlwmLmkmBmOaTmEmcmGmumIl(lKmzm5mR74m+mrkZmXlFmwm#lkm%5}mOm^mOmFm{mHm0m:mjl,mNm@m9n5m,n7m.n9mxn0ncm(mRmDngm`7_mTlV0MlX7{7}j-0D8#dGd6k0dLka0K6ndy0Okpk7kde5gNcLia20gRj72y2peiihgYgEg!jVeq37g*dkg,is76hd04hAg@hhhCfw01b=3;i{8.i)bD76b=43hwhchN3Nhw7,h*jlfO7;jo0}0/lOob0_7!of.
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.