3-liste/tableau
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.
.128073.128013f6S=d-èçpg2mRC{ 8P5)kLu^}A_sh:0q4Vyr./oxbc1w«937ve[»l,O+tài]né;Ia(%050g0Z0*0=0,0$0D0r0R0$0=0D0D0f010*0,0k010406050D0y0n0n0=0L0K040e0O0$0y180O0.0r020=0n0k0:0r0o0Z1i0L0H0y0Z0D050N1f1h1j1l1d0k04051Q1J1T0N1Q1d0g0,0Y101214160E0,0l0E0$1+0E0*1b050{0Q0$0Z1$1315011*1,1.1,0*1@1_1=0*0L1R0*0E101o0D0k0=0.160m011{1(010c0}0Z0.1w0Z1=2e2g2l1}2o1_2r0n2t040b0r0t0L0O0k0O0D0,1r1t0_2c0L0L0Z0R2O1J2v0.1R0N2a2!2729281?0g2x161.0.2q2L1=1Z1#111|2.0,2:0.0O2@1=0k2T1R2Y2!351e2f1t2_2m2~0L1i0$1b0S2X391c382w3b1}3d3f1b0m3j2g3l2Y2-013q0=3g040W3u2Z1d3x3o163A3C0I3F3w393y3L1b0u3O3H3Q3J3z0O3e3B1b0d3V3m3a1%3p3!3r040X3)3I3,3K3.3$040s3=3X3@3Z3#3C0V3O1U331J2@2%0g292,3Y0R2 2D0^1!1R320Z343k444e0_4m3n3 0w1b0_0c443?2`010T1b0r4y3~4A0.0c1b0O0y0C0Z0P110y2M0c0C0Q2N1I1K4n4z2m1a040?4F4s4H1b0=4)3+4A4$0%3O4E4!3p1b0Q4.3y4$0v0F3V0r524@4G2m4u040,4x4Y3v544*3c4,4?3*3y0O1b0f0f5h4^3K4`4|3Y4$505b3G535y5d4/561b2T0*0y0L0.5o551}0n0,1b0G51535i3Y575E5G5I5w045A3y5M3h3V063W5e1}574w5s3 4C5Z5/4H4J044L4N4P1p4S0C1.0D0*1H5?4#1b4(5Y5S3 0.1b60620C3i685p014;5J5+5q046d0Z0C3t6h5K164~5v35065y694+040{0}1_6l5B1}5k045n5Y5!3Y0.0Q6c2q641}4$67376i6b6o0,616q6g6Y6u6j1b0v5Q526B5C045V5H6H4}1b0!6U6n5`4O4Q5~4V0*4X6*6m6,4%6}3z6c6$6e6)4Z6+4$6|6t776!0,7a4$0-4=6N6;4_6#6%6r7o6{7a7m7y040-6.7s6i570c3!6_6P1b7n7G6+0O5;2|7L6a6R6?2g0l0Z7C6X7g7l1b6E0$6G7k6I6v6-0-3)0N4p4l457^0N481J0*4a7}2*2#0=1^7`481P4r7.012T0n0C0c0=0w6q0E0W1b1B1D1F1H0r6x4n1W3l1Q0a0r0(1t0.001H0*0r2f0 0O1^1+0/0%2c1h1`1_0r1f0l0l0i2T0r0$000/2~0.0R8J0r2Q0R0L0/0Z0L0r0y2:0r7J8!2O0r014L0r705}592k2q271`0_0y0P0r730D8K8n0r2~4R0r0=0Y1s0 2~1h8+8%2g0 0R0`622R2T2V0,1s4E7@5_4M8|4R594U4W1J9y0M1U3l2@3y0=0g0n1s2N9v1t2|7J1b1P9M9O9Q2O0h180*25040J8,2M9w9f2U9x4f6L6M9y9J1Y1!3y1 1-1/1;883y2z2q2s1b2F0e8)198C0t0K2a1s444k88364n9^7H4v0Z5a76895;4E7-3R5^6 5|9C4T6p757%896W7A7c7w7f3v7t7/047r356O6aaH6e6saq6`044 6/aQ6C6p7U4A6K6MaPaL780!7;5Y6z5Ram047J0La%5f58a`6J7S5Xa+6Z7W0L7Y7!au5t667A7W2A7#aG7v7e7C0vaYa:5za=6+5759a}6n6p6f7C7jaV7Ma|b73 7pbq8_5la*3ka!a{bsaUaDaWbvbLbx7ObwbA1b0-8q3va;bl6A6ZaSb6bRa(1b9Ibz6C0=0k0k2q0gbdb+2m5$045Pb?6V6-aZbZbn1b0Z0~b$bObS04bV5xbYb 7(bfc4aK6i6Kb*b%a{b-b/0.b;b{aM7$cf6+b^aJ2Za,4~aZa,5U0`5WbC6!a$a:9G9=7_2!86474i9`2^3 9N9P0.9R9w9U6K9X3YcS9!9S9$2N9)9+0L9-1t1j2N0E0n0/188n9_1S048x0r8b1j9a9a5v1X050y0$3l1.a1c!0Lc:1i620P1b090?0G0)0G0f0G097F370Nd81dd8a,c/2add4Odgdi0)0S0f0Sdo44dr0,d7dJdvdbdx0=dedA0SdkdEdG68dIdKd9cRdNc;dPdz04dhdSdD0mdVaP0`8%1s0RbH1}dwd$dQd)0?0?d+0v0r090@0r0m0r0f0rdndp8rds1Jd59K9{3Y9}211:2u6+a32B2Da7a90kabad0Eaf68ah3*ajaKalc0045.cp4B4D7Aaw9Aay5~aBb=cj7ubscvdZ4:1baObGa,cF7d6qbKcs776wcza?6@b0eY6i7icrcwb!cdbteG7ibebQc5eV7DbC6K0)cEb#7xe`7zeG7Bf77Dea5ca,6K0@bCb^e%2Zd@167I7K7Pcce}fecga cEb3b5ePe~3cbb6Tfbe=eUbIe#e_eQaMbia/6ycI4qcKcN0Y3l7{cO4hcQ4Ac#cU8@cX9W1S9YcTcV0.c(9(2Dc+c-0r2|620L1Z62c_1Q0x002J0/b4625G0r0U0r8`9B4S0r0#8{0.918%0Z94964W8{0Pe#gd2Geu9w0F9;4q0zfP4l0M060;0$0rc?0|8Cf@8,f`9m0.9od:4O8,0R0,9pb*d39Leh1/eja0a,ena52E0r0p9h1o1`acaee.aKeydq37eC770l4$020l0*0:g`g|g~1z7ab^b`b17Q1bgvfq89h33}g@6Kh43k5*89g^1bh0hlg{h1eGhbh95jh7fi5N04eThh3y0l6Khxa,hj04hmg hnatfK01cuf1hthr3YhqfO6ihA5%cHhTg_hnhGhohKhMhP3 6Kh8h577h%hS6+hUb_7=9^1W46fVfT87c|0=5GgEd;8!8D0ygCa98U2Q8e0j9w0k5}2c8!6$1`gsc_gU3 ei9 el77g!2Ca60ra8dbesgpg-ag46g;akcJa?eFhKaseJ4KeL719DeOfEbeeS7CeXft6+e!7wfkfGb|aXc81ccb89cB5F6^h(e 0!fFeZf5eTcxf8hKfahKbBi,2mh*f4e^iXi?04bNe(89i_fAiZ7EbCfoa_i|7ufsflfffvje3Kfx0.7Zfzj53RfCg.e?7hb9f9i;bh0vfNhggw2!eyh`9K0`0|0~3R0O9ric0,8+f(1L1D1l0Bb.2I8=1Z141C908p8Vf 0kg1d%g4059yh89yggixev1t2J8T1`730r0+gj0*2X1gjT8t040t1jgl1Cicih6:8s1deedtdL6id_dydfd|0X0C0q0S0G0Ae70Sku6rd.bGatecdukid#kkdA0Vkokqkskq0G0SkwfdcwdX1d0Nkfc`0o0/3B6$9h8V1`0P3!j j}k(iikd1?831_3l2a0Z9Nk:281d2a8P0*0K1_16de0*0hkX0l0.gs9pge8,0:1=2#0Ek:2b61k}0Zk 4Ol1l3l51090l95O7}ldk_lfk|k~17lkl221lnl7f^lahwlslek{lhlj0PlllBl6lp0LlF6g2$lulJlxl0lA1+lClQlSlHkR2(l)0Ek=4ak_0Q2 1O1?k^2+lWlilylMlZl4lPl8lR2u271s0l04k$jd612Ijn49k:2,lglXlzlml lEm2mam56)m3mb7}l.l^mfl`lYmilom0lF1empm5h4mCmck_melwmvmhlOmymk34mFmEmmmGmtmJlLlNl!mjlqmPmSmomSmrfUl*l?mdl_mWl}l#mzmlm46L2XmFm)mHm.l{mXl~mNm!mBm$m_m(2#ms7~m}mwmMlDn2m9m@m%m@m{mUlKm~m:mZm1m#ngn5nin7m-mum/mxndnpn3m@mRnt7~m*l@2#l:0gl=8284k40(8-dMdcd%kld*ku0G6rdE0IkHkrkxaKk,ik4Aim22io89iqepg%g)8Og,j@iz7^iBeBiDh:hYhHo1h#j816b^3;jkbD04h+e/cthv43hWh:hB3NcH7?cJh^85fW7{jI0}0DfUcMoq7*ot.
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)