En Travaux
facile
Opérateurs booléens
Certains opérateurs booléens tels que « \(et\) », « \(ou\) » et « \(non\) » existent de façon native en Python. Leurs tables de vérités sont rappelées plus bas.
Le but de cet exercice est d'écrire des fonctions mimant leur fonctionnement en n'utilisant que des tests if ... elif ... else .
Astuce
On rappelle que si a est un booléen, l'instruction if a == True : peut-être allégée en if a : .
Les seules structures autorisées dans cet exercice sont :
Contraintes
Il est donc interdit dans cet exercice d'utiliser les opérateurs booléens natifs de Python : not , and , or .
De la même façon on ne comparera pas les valeurs à l'aide de == , != , > , etc.
On s'interdira de la même façon d'utiliser la bibliothèque operator ainsi que des conversions telles que int ( a ) .
On demande d'écrire les fonctions suivantes :
non prend en argument le booléen a et renvoie False si a vaut True , True s'il vaut False ;
et prend en arguments les booléens a et b et ne renvoie True que si les deux valent True ;
ou prend en arguments les booléens a et b et renvoie False que si les deux valent False ;
ou_exclusif prend en arguments les booléens a et b et renvoie False si les deux arguments ont la même valeur et True sinon ;
non_ou prend en arguments les booléens a et b et ne renvoie True que si les deux valent False ;
non_et prend en arguments les booléens a et b et ne renvoie False que si les deux valent True .
Exemples
>>> non ( True )
False
>>> et ( True , False )
False
>>> ou ( True , False )
True
>>> ou_exclusif ( True , True )
False
>>> non_ou ( False , True )
False
>>> non_et ( False , True )
True
1. Opérateur non
Compléter la fonction suivante.
.128013nFTimwgyk2P;o 5uRal4t/sbrvce3)Afh:1S=_dqp(050N0C0v0s0e0t0x0o0B0t0s0x0x0L010v0e0P010406050x0q0f0f0s0z0i040K0n0t0q0+0n0b0o020s0f0P0m0o0r0C0^0z0O0q0C0x050w0=0@0_0{0:0P041j1q051t0w1t1v1q0:0N0e0A0Z0#0%0)0H0e0h0H0t1J0H0v0.050U0y0t0C1E0$0(011I1K1M1K0v1S1U1Q0v0y0n0N0{1R0z1r0v0H0Z0~0x0P0s0b0)0k011W1G010G0W0C0b160C1Q1{1}221Y251U280f2a040a0o0l0z0n0P0n0x0e11130S1_0z0z0C0B2v1j2c0b1r0w1@2H0v1=1;1?0N2e0)1M0b272s1Q1B1D0!1X2R0e2T0b1.1C1Q0P2A1r2F2H2/0;1|132Z232(0z0^0t0.0J2E2?0/2=2d2^1Y2`2|0.0k301}322F2Q01370s2}040D3b2G0:3e350)3h3j0u3m3d2?3f3s0.0p3v1s2-1j2X2K0N2O3f0B1.2k0R1C1r2,0C2.313C3L0S3T341F1Y0j0.0S0G3C3p3!0)0g0.0o3*3x3q3g0G0.2(0b3;3Z2!010-040Q3|2@3,3g0.0s433f400E0I3v060o4g3:3+3~3$040e3)1k314i3=450b47493?404d4p3c4f4h4D33444k0.2A0v0q0z3{4A2G4r3}230j0B0.0c3i0x0C4e4E4j4S0.0C0X4Z4O3Y4G234y4!4D4h4F3f4l4J4L4N2/4Q4.3#4U040d0z1g4e1j3W3S3D590w3G1j0v3I5e2M2I1-1/2K0s1T5b3G1p4-3f2A0f0M0G0s0j0C0M0H0D0.1b1d1f1h0o4z2;1w321q0F102A0o2,2q2s2u0e120o2x0x0~105X130I3:5M1A1C3f1!1L1N1P5s3?2g27290.2m0K0B0z0,0v2n0i1@123C3R4-2:3U585@454l3(4w453.045+2;4$363^043`6h3~40424,4@3?4u04486w6n0)4b5K314C4g6x6e0.4n3v4~3y4v6C4s6t0.6G4B4=4?6D014_0T4{6O6K4k514W4*4;6J6!6$4K4M6)6;5153554,0:0w6c5a2H5q3F0T0V0X04.
2. Opérateur et
Compléter la fonction suivante.
.128013nFTimwgyk2P;oC, 5çuRal4t/sbrvce3)Afh:1S=é_dqp(050R0F0y0v0e0w0A0q0E0w0v0A0A0O010y0e0T010406050A0t0f0f0v0C0i040N0n0w0t0/0n0b0q020v0f0T0m0q0u0F0|0C0S0t0F0A050z0_0{0}0 0@0T041n1u051x0z1x1z1u0@0R0e0D0%0)0+0-0K0e0h0K0w1N0K0y0=050Y0B0w0F1I0*0,011M1O1Q1O0y1W1Y1U0y0B0n0R0 1V0C1v0y0K0%120A0T0v0b0-0k011!1K010J0!0F0b1a0F1U1 21261$291Y2c0f2e040a0q0l0C0n0T0n0A0e15170W1}0C0C0F0E2z1n2g0b1v0z1{2L0y1_1^1`0R2i0-1Q0b2b2w1U1F1H0(1#2V0e2X0b1=1G1U0T2E1v2J2L2?0^20172%272,0C0|0w0=0M2I2`0?2_2h2|1$2~300=0k3421362J2U013b0v31040G3f2K0@3i390-3l3n0x3q3h2`3j3w0=0r3z1w2;1n2#2O0R2S3j0E1=2o0V1G1v2:0F2=353G3P0W3X381J1$0j0=0W0J3G3t3(0-0g0=0q3.3B3u3k0J0=0X3^3%2(010;040U3 2{3:3k0=0v463j430p3z3@3/410b0=0B4c3`430H0L3z060q4u4h3_483*040e3-1o354w402}4a4n48434r4D3g4t4v4Q3747414z4B4g4S3C4l4J414L4s4Q4)4v4Y3`4z2E0y0t0C0b4X4i270j0E0=0d0C1k4(4+4^3)0=4/4;4?4N2K4F4T4_4{040c3m0A0F4s1n3!3W3H5m0z3K1n0y3M5r2Q2M1;1?2O0v1X5o3K1t3$5b1$2E0f0Q0J0v0j0F0Q0K0G0=1f1h1j1l0q4M2^1A361u0I142E0q2:2u2w2y0e160q2B0A12145/170L3@5!1E1G3j1(1P1R1T5F3j2k2b2d0=2q0N0E0C0:0y2r0i1{163G3V5F2@3Y5l654-3+0F4C2^523;3?4#2}3|043~586r4K0=456F4,484k044b6K6x420=4f6F5a4Z044m6Q4x4$0=4q504u6L4U0=4W6V6+4H6O6A1$4%6F4P4*6:534A6v4E6|3v4!6!4G6@0=5Y356`4*516#4_540X564@7d3)5d4}4 6_7b6W6s6D0#5i745G0-6^2?7a7p71014.7g4=7i750-4`0=5f7t6)7q4y3}7N7v4d777O4R6R7E4:7G6/7Y5d7M5h5j0z6q5n2L5D1y040o0X0y1Z5+2v2x2z5*0F140q0A000P6d0e5)0P0h3m1g2b6g2B0)0q5L0s5:0_1G217^5X5|1D3S2$48611*1S2f7j0-672m2o6b850T6g0l6i0K6k6K6m4S6o3g057-7Y6t6 8P6R3=045|6w8y3{3}0y6?7x6I8)496=7T4o6T7H7w8-6Z8!7I6S046(7o7c8`4V8U597C6N6P8_8?7y797B8S04557#2?7P4j737z7X8#7Z7h7$9m7(5g7u7z5k3Q2L8M5p3T5E5%2P7_2t7{5.5:5=5@7}5{1w362#601R8v647C8A692p0q6c6e8F6h6j572^8M5Z2^8R9m8T8,8X8Z3Y6R0b6C6E977U448,958,4e8=6X8^9?8#4p784O9l906-928Y944I8/6H04a83r9b9.9d7F9(709@9j9a8 8?9n9far8#9 6_9v3#7.3J9A3J0X0Z0#04.
3. Opérateur ou
Compléter la fonction suivante.
.128013nFTimwgyk2P;oC, 5ç6uRal4t/sbrvce3)Afh:1S=é_dqp(050S0G0z0w0e0x0B0q0F0x0w0B0B0P010z0e0U010406050B0u0f0f0w0D0i040O0n0x0u0:0n0b0q020w0f0U0m0q0v0G0}0D0T0u0G0B050A0`0|0~100^0U041o1v051y0A1y1A1v0^0S0e0E0(0*0,0.0L0e0h0L0x1O0L0z0?050Z0C0x0G1J0+0-011N1P1R1P0z1X1Z1V0z0C0n0S101W0D1w0z0L0(130B0U0w0b0.0k011#1L010K0#0G0b1b0G1V2022271%2a1Z2d0f2f040a0q0l0D0n0U0n0B0e16180X1~0D0D0G0F2A1o2h0b1w0A1|2M0z1`1_1{0S2j0.1R0b2c2x1V1G1I0)1$2W0e2Y0b1?1H1V0U2F1w2K2M2@0_21182(282-0D0}0x0?0N2J2{0@2`2i2}1%2 310?0k3522372K2V013c0w32040H3g2L0^3j3a0.3m3o0y3r3i2{3k3x0?0r3A3t3C3v3l0n303n0?0t3A1x2=1o2$2P0S2T3k0F1?2p0W1H1w2;0G2?363R3!0X3,391K1%0j0?0X0K3R3u3?0.0g0?0q3|3J3~3l0K0?0n0u433=2)010=040V4b2|450b0?0w4i3k4f0p3A423}4d4l040C4o3K4f0I0M3H0q4F4t444d3^040e3{1p364H4c2~4m4z454f4D4O3h064G4#4Q4j4J0?2F0z0u0D0b4s384(280j0F0?0d0D1l4E4G4;3k4K0G1R4N2@4%3D0?4y4Y2L4 4A0?4X2@4!4$4F5c454K4+4-4/5a04563K4@4_4{0G4}5j4u4?4*0Y5o4:5A3@4^040c3n0B5x5q0^0A3/3+3S5S0A3V1o0z3X5X2R2N1=1@2P0w1Y5U3V1u3;4=1%2F0f0R0K0w0j0G0R0L0H0?1g1i1k1m0q5f3-1B371v0J152F0q2;2v2x2z0e170q2C0B13156i180M42671F1H3k1)1Q1S1U5/3k2l2c2e0?2r0O0F0D0;0z2s0i1|173R3*5/2^3-5R6B5t3_0G543-5G3 414U4v4704496*284f4h5q5k4v4T6?6%4e0?4r5q5s4k586/1%4B654Z4#6@5B4L6#3h706^044n6`4I6:5e5y4$793@5C4,4.5F7j5H5v4|5O786{51537t4R3b727i7E0.4W7m7z7u0.5m5D7s6 7o7O5I4`7x5g7M7I017B5M737J7l7y5i7e7a5n7R557T7#5I5K0$5N5g1o6W5T2M5-1z040o0Y0z1!6e2w2y2A6d0G150q0B000Q6J0e6c0Q0h3n1h2c6M2C0*0q5^0s6j0`1H2285646s1E3%2%456x1+1T2g7N292b2n2p6H8i0U6M0l6O0L6Q6?6S4;6U3h057}7A6Z7c5b6{405r7(46484a7H5:7)4g8:4w7h2_6{4q7D8^3l7G8~8L757m7=4K4M91577g8:7K7+5i997q5E7S7A7V5w988)047/5p7;6{4w597{5Q3#2M8Z5V3(5.6a2Q862u886h6j6l6n8a6r1x372$6w1S8I6A7=6D8O6G0q6I6K8S6N6P9u3-8Z2_6?8(8L4K3`8:8.6s957!0b6,6.8@4p0?6=9|928|9f6}9c3K9xa8044C9q9?0?9b9m8La7a15d04763s7,7-7p9s7Q9-7d7=am7Y4~9r9taa714x3H7|9B7~3U9F3U0Y0!0$04.
4. Opérateur ou_exclusif
Compléter la fonction suivante.
Aide
On remarque que ou_exclusif(a, b) est évalué à True si a et b ont des valeurs différentes :
soit a est True et dans ce cas b est False ;
soit a est False et alors b est True .
Il n’est pas interdit de réutiliser certains opérateurs codés dans les questions précédentes 😊.
.128013nximwgyk2P;o, uRalt/sbrvce3)Afh:1S=_dqp(050L0A0t0r0d0s0v0o0z0s0r0v0v0J010t0d0N010406050v0p0e0e0r0x0h040I0m0s0p0)0m0b0o020r0e0N0l0o0q0A0?0x0M0p0A0v050u0:0=0@0_0.0N041h1o051r0u1r1t1o0.0L0d0y0X0Z0#0%0F0d0g0F0s1H0F0t0,050S0w0s0A1C0!0$011G1I1K1I0t1Q1S1O0t0w0m0L0_1P0x1p0t0F0X0|0v0N0r0b0%0j011U1E010E0U0A0b140A1O1_1{201W231S260e28040a0o0k0x0m0N0m0v0d0 110Q1@0x0x0A0z2t1h2a0b1p0u1=2F0t1:1/1;0L2c0%1K0b252q1O1z1B0Y1V2P0d2R0b1,1A1O0N2y1p2D2F2-0/1`112X212$0x0?0s0,0H2C2;0-2:2b2?1W2^2`0,0j2~1{2F2*0A2F2V2I0L2M2O010z1,2i0P1A1p3c2,2 392E053l0Q3s321D1W0i0,0Q0E3u3z2=3B0%0f0,0o3H313J2Y010b0E0,0m0p0K0A0c0Y0p2r3G1i3t2D3j0+040O3P3,330%0b0,0r3;2;3-0,0n3H3O3=3K3T0,0w3{3A3S3.0C0G3H060o4f413|3?013D042y0t0p0x0b403Q3j3^043X473R213.3:3*3a4t4j4v0R4y3}3/4J4G3_4M433.3 4D2E4h482@0,2$4r4T3I4K4C2/423S4v464#4F4Q0,0C0C4S2-4V4z340,4I4.4*4A0,4(3+4i434v4Z4P4951584X043`4~5459044?4s4 4{044-4)5g505i0C4d1h3x3d1q2+1h3f1h0t3h5C2K2G1+1-2I0r1R5x0u3f1n4$4j2y0e0K0E0r0i0A0K0F0B0,191b1d1f0o4c4.1u301o0D0~2y0o2*2o2q2s0d100o2v0v0|0~5}110G3O5/1y1A3j1Y1J1L1N5R432e25270,2k0I0z0x0*0t2l0h1=103P3r3Q2.3t5w6g3S4l3F5b1W3M04675p4W343V4w3Y3!3$3(6G0%4B6U445d6X4R5k5q5m5o536M6V4;5-2-4e4g4/6D0,4n4p4!4^6=5c4}6L4`6,4L5f6+6Y4x7370016W774u4O7b4j6#4#4_7c5n6!4;4@2 7i4N04577e4:726 7j6~6*787a7w7q5e7C7u7n3a7p55457l5s5t4#0.0u6B5y5N5P1s045=2J1T5_2p2r2t5 1T610}7(661q302V6b1L1!1M296%0%6i2g2i6m6o6q6s6u6`3t6x2/4.7S5l0%6E0A3)7F3S6I6K7z4u6O3X3Z3#0}6T7t5h524E8a6Y7E8j7f3~6$744,7M4b4d4g7J6?040d8e7o6|5m8x8u7`790,6.2 6:8H4f8O8b6@0R6_8B78566v8r5r8t3v8v8D8-1W4a8G6;8v4l6^4q8)7j6)3a7Q7S1u5z5O3p7Q0Q0S0U0v04.
5. Opérateur non_ou
Compléter la fonction suivante.
.128013nimwgykP2o, ualtb/srvce)fh:1S=_dp(050G0x0q0o0c0p0t0m0w0p0o0t0t0E010q0c0H010406050t0n0d0d0o0u0g040D0k0p0n0Z0k0b050s0*0,0.0:0(0H040|1305160s1618130(0G0c0v0R0T0V0X0A0c0f0A0p1m0A0q0$050M0r0p0x1h0U0W011l1n1p1n0q1v1x1t0q0r0k0G0:1u0u140q0A0R0?0t0H0o0b0X0j011z1j010z0O0x0b0o0d0x1t1X1Z1(1B1+1x1.1:0$0a0m0i0u0k0H0k0t0c0_0b0m0K1V0u0u0x0w280|1?0b140s1T2l0q1R1Q1S0G1^0X1p0b1-251t1e1g0S1A2v0c2x0b1N1f1t0H2e142j2l2P0)1Y292D1)2I0u0-0p0$0C2i2T0%2S1@2V1B2X2Z0$0j2%1Z2l2M0x2l2B2o0G2s2u010w1N1;142{172N2*2k2=39310K2O2T2 0h0$0K0z3a3e2+1i1B0e0$0m3l382 0b0z0$2I0b0F0k0n3t2j2 0#040I3E3f2,0X0b0$0o3K3n2E013H0l3l3s3F3M013O040r3R2U3o0X3H0y0B3l060m3=3Y3L3+013h042e0q0n0u0{0}2(3@3S2W3y0`3)3G0$3J422?3u3!3$3C493!3H4c2R3Z3_3$3Q4d394o3T3V3X4f4p0$3(4s3m3*4v0$0y0y3:0|3c2_15370s352m2}0|2p2o1M1O2o0o1w4M4P1f2)4P0L0N0P04.
6. Opérateur non_et
Compléter la fonction suivante.
.128013nimwgykP2o, ualtb/srvce)fh:1S=_dp(050G0x0q0o0c0p0t0m0w0p0o0t0t0E010q0c0H010406050t0n0d0d0o0u0g040D0k0p0n0Z0k0b050s0*0,0.0:0(0H040|1305160s1618130(0G0c0v0R0T0V0X0A0c0f0A0p1m0A0q0$050M0r0p0x1h0U0W011l1n1p1n0q1v1x1t0q0r0k0G0:1u0u140q0A0R0?0t0H0o0b0X0j011z1j010z0O0x0b0o0d0x1t1X1Z1(1B1+1x1.1:0$0a0m0i0u0k0H0k0t0c0_0b0m0K1V0u0u0x0w280|1?0b140s1T2l0q1R1Q1S0G1^0X1p0b1-251t1e1g0S1A2v0c2x0b1N1f1t0H2e142j2l2P0)1Y292D1)2I0u0-0p0$0C2i2T0%2S1@2V1B2X2Z0$0j2%1Z2l2M0x2l2B2o0G2s2u010w1N1;142{172N2*2k2=39310K2O2T2 0h0$0K0z3a3e2+1i1B0e0$0m3l382 0b0z0$2I0b0F0L3t2j2 0#040I3D3f2,0X0b0$0o3J3n2E013G0l3l3s3E3L013N040r3Q2U3o0X3G0y0B3l060m3;3X3K3*013h042e0q0n0u0{0}2(3?3R2W3y0`3(3F0$3I412?3u3Z3#3C4c393Y3^3G4b2R4k3S3#3P4i3m3)3S3U3W4e3^3#3%4t4z4w0$0y0y3/0|3c2_15370s352m2}0|2p2o1M1O2o0o1w4M4P1f2)4P0L0N0P04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)