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.128013g[r) ;/»(lo4,I6b=xa+5ut}P7Ve{-h0mnCkç^:Sé«q.èy1cd32à 8_wvLpf%O9RA]is050Y0D0y0u0?0l0@0g0X0l0u0@0@0s010y0?0+010406050@0x0I0I0u0e0V040P0m0l0x180m0J0g020u0I0+0h0g0:0D1i0e0S0x0D0@050i1f1h1j1l1d0+04051Q1J1T0i1Q1d0Y0?0)10121416120J0c0x0u0c0D0F0+0V0y0G1s0g0G0?0c0G0l1|0G0y1b050{0r0l0D1$1315011{1}1 1}0y2527230y0e1R1@101o0@0+0u0J160!01291(010,0}0D0J1w0D232r2t2y2b2B272E0I2G040b0g0A0e0m0+0m0@0?1r1t0_2p0e0e0D0X2#1J2I0J1R0i1@2;2l2n2m240Y2K1)0?0J2D2Y231Z1#112a2~300J0m34230+2*1R2/2;3h1e2s1t362z3a0e1i0l230u1`2*0,16030%0%0X3b0D1 390m0F0!0F0W1b0W1J0u3i3l1c3k2J3n2b3p3r3t3v0D3x013z3B3D3F313I3I1b0!3O3Q2t3S2/2}013X0u3s1R3u0G3w3y3A3C0_3+3a3-0Z1b0Z3;2.3R1d3^3V163{3}053 413%433*2 3,3J0n1b0n4c1K4e3T3m1%3W0m3q3|3Z403#423)454r473J0w1b0w4x3h4f3l3_4j4H4n3(443E4N3H3J0q1b0q4T4z4g4C4i4E3Y3~3!3$4#4q3G3-0B1b0B4.3?4V3U4;3`4?4G4^4I4`4p4M4}3J0$1b0$522:544B37574F4k4m4J4o4L4%5f0F0/1b0/5k2;3e0D2;342@0Y2n2|4h014$331!1R5E3g3R4d3?054$5T2J0?0Y163A2/3-3L4^5#5%5v464)3K2x2O0D5.4$5:5*230i3P4A3_0L1b0_0,5V2:0g605M0J0,1b0m0x0%0D0t110x2Z0,0%0r2!1I4y5W4:5o1a040k665Z5n3o1b0u6y69566v0o6y686t6B040r6E6L2b6v0f0O6y1d6r2:605-015(3l3-2w5,5$6#5/4(6(5?2F5_4|4s3.2;3P0g6{6K4W5M62040?656X046}555o0J6C6J6F5o0m1b0s0s7b6Q4i1b6O747c2z6v6U746W3j3^6!6$2t483Z7w6-5x490g5@6=5e6@496_756|7N7o2b702*0y0x0e0J7i6~560I0?1b0H6V6P4W7B5)4t7A6+5d5w6@4u7F6;6,5`6.7-7L7O7j017R0`7U7W74766A2b7!3M7(7n7v7/0%7,0F4Q6*7H7;4O8h6:2P8k5{4P5}3P7t5U8d5.8g4+8j7_6?8m4+7@8p8C7I8E8t3S8c7*8e8g4 8B7:8r0F4 8G5^8I8l5;8R4c7 70647X773o6c046e6g6i1p6l0%1 0@0y1H7)8,6R1b6x8N8~7k048_8{0%3N9287166H8+9b3`1b960D0%3:9a3_6S7r4U8}1t7+6%5g7.8q7{0F5h8X9x5x5h7}6|7P940{0}279e3_7e047h859H3`0r9h2D9r9n909X6a9h0?8`9j997u7Y6u1b0f8b9+5!8P9u5y9w8Z8U5z9B9`9y5z9F6{9S817T7V9M5M6v0d9!56798/6f6h6j8@6o0y6q9;9f6v91am4X9$9(98ab9-04aa9m9#71av7p1b0=6I9R7 ad9i9kaC8 axaM940?aP016v0=9/aH9,2z700,4Ea7ac1baRaX93010m0(a)843h864X9U040e2t1/aSaoaSad9J0l9Laz6G9.0=9:5U0i5Y1U3f1J5H1J0y5Jbg2`2=0u265Fbe5Q1P6z3_2*0I0%0,0u0L9j0G7K1B1D1F1H0g9pb91X1S040a0g0.1t0J001H0y0g2s0 0m261|0Q0o2p1h28270g1f0c0c0U2*0g0l000Q3a0J0Xb#0g2%0X0e0Q0D0e0g0x300ga#b_2#0ga-0x0gag8?722x2D2l280_0x0t0gaj0@b$bF7F6e0 0u0)1s0 3a1hc0b|2t0 0X0`8{2(2*2,0?1_5X3Dae8;ah726n6p1J5Y0T1U3S343_0u0Y0I1s2!cM9s6b9O1Pc$c(c*2#0F180y2j040Cc12Z1_cw2+685Y7gcWcPcZ1Y1!3_1*1,1.1:1=1@1_2d1~2022bs5M2M2D2F1b0A1?1^a;5U5S4A3=6Ybb8x6,5)0Z5=8S7C3,dG3L9}8T6.dL2x5b4K7`4}dQ7La3633#a%788.8:ce6kcT9ial8waYaNapd.a,aJ9%979*d=an1baGa=9Sd@at9laqa89.bI539X9t7ydG6)4l0g7BdUdK3.dNdJ47ecdR4!dOdV6^3;7~d/949id#2z9O9Qd 7 a9b77se99?eb0F7Keeeg8D3HdG7E7G9~er7EdS5uehemeK8Leua,a!a$a+9fada*eCeva-a/71dw3?a?6aa^a`1+0Da}9Zb478a^2Ne~6wa asd_f40f6Tb86s8O8y6%dG4udIeYeP0F7?eSeqei7?eW4{8Jflfiet7N9G8(a)73e.d?f79)f4aye4a(aBf0aD04eFfD9feAeB3Re^fKaKe3d{9YaOfM3Wa)f40=e75leHffeJ8ieM8efkeK8nekf?dG4Q4_dTeOf@f:5~7Mfyfye0fFaS9OcYf$940u0+0+2D0Yf4d;fda,89047%gbaT9.fc6YdD7x0Jf@8Af;9Cei8Ffoelfl8FfsfpeZgyg2g4a2fA043E0@e}gp7qgsbseagwdG8$3ueNfuf@8WgDf`8Veo5tft8!g(e#gMe$e+g7gpg9f604gdgf0JghgTe fJ5ogmd`gkd|04aW9q9mgXf@9EgzeTei9Ag*f dG9AgHgEhfg=gNe/a483eyf%95d^gShc3jbad71Wbd0i5H6WhJ0^da5Mc%c)0Jc+1_2 a#1bc:hOc=hRc@c_c{c}0ec 1t1j2!0G0I0Q18bFd8bLbP0gbu1jcscs7rbK0x0l3S1 dn56h,1@1i8{0t1b090k0H0v0H0s0H09hbb9i31di39Si6h.0ui9ibid0v0W0s0Wij6E0iim05io7 iqi86hiu0WifiyiA7niC0?i2iRip0eh-iIia04iciLix0!iOa=0`b|1s0XfV5oiHisiJiZ0k0ki#0f0g090-0g0!0g0s0giiik5WiQ8Mi0c!hN56dc1-1/1;dudi202f212He/dp5@dsjge?6YdyhD3jdCfedE6%0ndHhhgI3HjAdMhlg%jFg-5chqjJdXgO8*e*4Xd%af8=d*6md,gig|aKh7gte/9djRaAfXf9f+8MaqhejAedg#f=f j=8o8YjDfmejhpf?j`a1i.aZ1b7Shwj*b5axgjj%fEhzatj$i4awfIfZaAe-klkafPfU9S9O0vhxewhAaLh2f#h46Mknh8f!aVkva-1b0-kHgmfYe@dY04a#0ekHe,kHa.a:kTe`a{hBkoawkcki3of29Wkzk(g6kff8kzfakqe8iPbbhGbohIbqbp0)j935i5hZhSc-hV3S0+c;hQl5c^2!h%c~c,ef0J8{0e1Z8{h?1Q0*002W0Qa`8{7U0g0R0g6ecdjV6l0g0jcdljb:clcncplBhAlG2TjqbHd3cP0Nd60_040T060p0l0gh:0|bU2 lklmcD0JcFi*6hc10X0?cGgabKc#5Mjcdejf3C1tdjjjdm9Sjndr04dtdh1t0Kcy1o280P1Hh*6Ejtb9jvd7gu8f6%0wjBj@gA47mrjG7^j}mwjKf~g%mAjOe/0c6v020c0y0hmJmLmN1zaSgmgofQ9N1blUk9h57#gngV6ZeIgwmrj?efj^mDejjHg:m*mBeXf m=mFa,0c9OmT4zhdm(8he!fjm^e!f_n5eVephqmreLg29SmH1bmPnimKmQgpmSkVmWkLm!kh8vkEhemrfwmthimvfmj{mu3Hnwm?g/5{nFm`9fm|8aeGn0f.m)8nn4m.f|m:nIf^k0n5g15 7 ng04njmOnk68nmnrno04mXmU5MnnnOj:n1mrgynymz0FgCmynbo0nGn gKn$mG9Onsf-jy7ymrg!m,nDn2g)o2f?ofo5o38$nen%mInkn*nlkB88n/mYeznpoAoynNhCfZnv9z9_n hkoln5honaomoJnK3_nMm#n_b9k`dyk}l0brh^0u7Ul(i+b_bVcc0Qb~0?lI28bx0M1_0+8?2pb_9%280On-l`ja5ol}jedgdv1`jidljla,m62Pjpmamjbdju5Ujw9=nQo0msohnz3H0q5=n7g%pvdMnZpyjBorhudZfCkraIjTcRcfjXhAd-kEe5f5gpe1k;ox9cd}kTfFkypWgqhaj.ntkd9sn1pvm+g$g:p.nCptpq2wf}m@pCedgLfzpFa_82a6oDpXkbj!kxkh9Sa9g|kDp+kFn:n=pIe/pU9jkNqepRkkpQfKqdk)aNkGq4801bkRpZfLn?56kWe=kYk6k!jZpTk+jrqtq5k.aIp!q9eD9.0fk@f,k_hFo!hL0_b1cFac0mcIo{0?c0hW1e1g1D1l0;ge2Vc71Z141CcilRb=lslu0DlwcOlWmX5Yb|28m9p92Wb/28aj0g0#co2!2.q;1Nl8m81jlB1Co{p0a21W3Sj8iniTiGiVi7i;iYic0B0%0E0W0H0zj10WrO9ki(fUn-iDiFe/i:iti?0/rIrKrMrK0H0WrQj46Yj66WrybL0:0Q3|9%cyb;280t4ErjbUrirgp1h?2i5F1d1@0Dc%3S2^s60Gb+0y0V2716i90y0Fr@0c0Jp1cGljc10h5}2?scsesg8Ysjsl2fso10ciss7$bg0Gsasd8`sysi6hsksmsDsqlkst0499sv24sLsfsh17sPsB1|sSsF0esVsXsJswsMs$sAsRsps,s.sI8MsbsIs85Js60r3b1O242ms62|s=szs(s^sEsrs-2H2l1s0c04r|kS1Kti1+5Isat9s#tb0tsQsCs_tfsV1etptk9*tDtrt8sxs?tctytesUth2VtqmTtGbgt12{tJtvtxs*tztO3gtGtStQtktUtstXsOtws)snt#sGt%t*sW2.tT2=tV2=t7t6t-tat/tZt=tNt@tCt_eBt|bhu2tuu4t;s+tAtPtjt`tot_t,tIu3s%t:tdsTu88`t_tFuot}uesNusu5uit$u9uluzuluptWurs@tMuvtgt^ult)uLuB6Ws~2=t30Yt5blbnro0.c2iUiWrEiKrO0H9kiy0nr#rLrRj5p3l2p5a{jddf0Vm0pa2epcqN2A2Cjom8lQmcl.me0gmg14c,pjbopl5Wpnp,pp0Bprp:5{vsmx8Hj}vwoof?vAoT5Mn(ovmPn-p$gm51qw9OqhkO7 gm5BoXnun1vsp/m-g:vXp?vzj oQf v#vE56oV0W4wvUr-oZhHhLhI0`0|0~8Mv^q$v{0@04.
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)