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.
.128013:ag)R1iTkn/SA=vFmsuhb4;ye2odt c(wr5_P3qplf050C0z0D0c0h0P0s0E0F0P0c0s0s0o010D0h0O010406050s0t0r0r0c0I0y040m0B0P0t0+0B0k0E020c0r0O0x0E0f0z0^0I0N0t0z0s050l0=0@0_0{0:0O041j1q051t0l1t1v1q0:0C0h0p0Z0#0%0)0u0h0d0u0P1J0u0D0.050U0v0P0z1E0$0(011I1K1M1K0D1S1U1Q0D0v0B0C0{1R0I1r0D0u0Z0~0s0O0c0k0)0A011W1G010Q0W0z0k160z1Q1{1}221Y251U280r2a040a0E0L0I0B0O0B0s0h11130S1_0I0I0z0F2v1j2c0k1r0l1@2H0D1=1;1?0C2e0)1M0k272s1Q1B1D0!1X2R0h2T0k1.1C1Q0O2A1r2F2H2/0;1|132Z232(0I0^0P0.0g2E2?0/2=2d2^1Y2`2|0.0A301}322F2Q01370c2}040M3b2G0:3e350)3h3j0w3m3d2?3f3s0.0J3v1s2-1j2X2K0C2O3f0F1.2k0R1C1r2,0z2.313C3L0S3T341F1Y0j0.0S0Q3C3p3!0)0H0.0E3*3x3q3g0Q0.2(0k3;3Z2!010-040G3|2@3,3g0.0c433f400e0b3v060E4g3:3+3~3$040h3)1k314i3=450k47493?404d4p3c4f4h4D33444k0.2A0D0t0I3{4A2G4r3}230j0F0.0q3i0s0z4e4E4j4S0.0z0X4Z4O3Y4G234y4!4D4h4F3f4l4J4L4N2/4Q4.3#4U040i0I1g4e1j3W3S3D590l3G1j0D3I5e2M2I1-1/2K0c1T5b3G1p4-3f2A0r0K0Q0c0j0z0K0u0M0.1b1d1f1h0E4z2;1w321q0n102A0E2,2q2s2u0h120E2x0s0~105X130b3:5M1A1C3f1!1L1N1P5s3?2g27290.2m0m0F0I0,0D2n0y1@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:0l6c5a2H5q3F0T0V0X04.
2. Opérateur et
Compléter la fonction suivante.
.128013,:Cag)R1iTçkn/SAé=vFmsuhb4;ye2odt c(wr5_P3qplf050G0D0H0e0j0T0w0I0J0T0e0w0w0s010H0j0S010406050w0x0v0v0e0M0C040p0F0T0x0/0F0n0I020e0v0S0B0I0h0D0|0M0R0x0D0w050o0_0{0}0 0@0S041n1u051x0o1x1z1u0@0G0j0t0%0)0+0-0y0j0f0y0T1N0y0H0=050Y0z0T0D1I0*0,011M1O1Q1O0H1W1Y1U0H0z0F0G0 1V0M1v0H0y0%120w0S0e0n0-0E011!1K010U0!0D0n1a0D1U1 21261$291Y2c0v2e040a0I0P0M0F0S0F0w0j15170W1}0M0M0D0J2z1n2g0n1v0o1{2L0H1_1^1`0G2i0-1Q0n2b2w1U1F1H0(1#2V0j2X0n1=1G1U0S2E1v2J2L2?0^20172%272,0M0|0T0=0i2I2`0?2_2h2|1$2~300=0E3421362J2U013b0e31040Q3f2K0@3i390-3l3n0A3q3h2`3j3w0=0N3z1w2;1n2#2O0G2S3j0J1=2o0V1G1v2:0D2=353G3P0W3X381J1$0m0=0W0U3G3t3(0-0L0=0I3.3B3u3k0U0=0X3^3%2(010;040K3 2{3:3k0=0e463j430b3z3@3/410n0=0z4c3`430g0c3z060I4u4h3_483*040j3-1o354w402}4a4n48434r4D3g4t4v4Q3747414z4B4g4S3C4l4J414L4s4Q4)4v4Y3`4z2E0H0x0M0n4X4i270m0J0=0k0M1k4(4+4^3)0=4/4;4?4N2K4F4T4_4{040u3m0w0D4s1n3!3W3H5m0o3K1n0H3M5r2Q2M1;1?2O0e1X5o3K1t3$5b1$2E0v0O0U0e0m0D0O0y0Q0=1f1h1j1l0I4M2^1A361u0q142E0I2:2u2w2y0j160I2B0w12145/170c3@5!1E1G3j1(1P1R1T5F3j2k2b2d0=2q0p0J0M0:0H2r0C1{163G3V5F2@3Y5l654-3+0D4C2^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/7Y5d7M5h5j0o6q5n2L5D1y040d0X0H1Z5+2v2x2z5*0D140I0w000r6d0j5)0r0f3m1g2b6g2B0)0I5L0l5:0_1G217^5X5|1D3S2$48611*1S2f7j0-672m2o6b850S6g0P6i0y6k6K6m4S6o3g057-7Y6t6 8P6R3=045|6w8y3{3}0H6?7x6I8)496=7T4o6T7H7w8-6Z8!7I6S046(7o7c8`4V8U597C6N6P8_8?7y797B8S04557#2?7P4j737z7X8#7Z7h7$9m7(5g7u7z5k3Q2L8M5p3T5E5%2P7_2t7{5.5:5=5@7}5{1w362#601R8v647C8A692p0I6c6e8F6h6j572^8M5Z2^8R9m8T8,8X8Z3Y6R0n6C6E977U448,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.
.128013,:Cag)R1iTçkn/SAé=vFmsuhb4;ye62odt c(wr5_P3qplf050H0D0I0e0j0U0w0J0K0U0e0w0w0s010I0j0T010406050w0x0v0v0e0N0C040p0G0U0x0:0G0n0J020e0v0T0B0J0h0D0}0N0S0x0D0w050o0`0|0~100^0T041o1v051y0o1y1A1v0^0H0j0t0(0*0,0.0y0j0f0y0U1O0y0I0?050Z0z0U0D1J0+0-011N1P1R1P0I1X1Z1V0I0z0G0H101W0N1w0I0y0(130w0T0e0n0.0F011#1L010V0#0D0n1b0D1V2022271%2a1Z2d0v2f040a0J0Q0N0G0T0G0w0j16180X1~0N0N0D0K2A1o2h0n1w0o1|2M0I1`1_1{0H2j0.1R0n2c2x1V1G1I0)1$2W0j2Y0n1?1H1V0T2F1w2K2M2@0_21182(282-0N0}0U0?0i2J2{0@2`2i2}1%2 310?0F3522372K2V013c0e32040R3g2L0^3j3a0.3m3o0A3r3i2{3k3x0?0O3A3t3C3v3l0G303n0?0E3A1x2=1o2$2P0H2T3k0K1?2p0W1H1w2;0D2?363R3!0X3,391K1%0m0?0X0V3R3u3?0.0M0?0J3|3J3~3l0V0?0G0x433=2)010=040L4b2|450n0?0e4i3k4f0b3A423}4d4l040z4o3K4f0g0c3H0J4F4t444d3^040j3{1p364H4c2~4m4z454f4D4O3h064G4#4Q4j4J0?2F0I0x0N0n4s384(280m0K0?0k0N1l4E4G4;3k4K0D1R4N2@4%3D0?4y4Y2L4 4A0?4X2@4!4$4F5c454K4+4-4/5a04563K4@4_4{0D4}5j4u4?4*0Y5o4:5A3@4^040u3n0w5x5q0^0o3/3+3S5S0o3V1o0I3X5X2R2N1=1@2P0e1Y5U3V1u3;4=1%2F0v0P0V0e0m0D0P0y0R0?1g1i1k1m0J5f3-1B371v0q152F0J2;2v2x2z0j170J2C0w13156i180c42671F1H3k1)1Q1S1U5/3k2l2c2e0?2r0p0K0N0;0I2s0C1|173R3*5/2^3-5R6B5t3_0D543-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-1z040d0Y0I1!6e2w2y2A6d0D150J0w000r6J0j6c0r0f3n1h2c6M2C0*0J5^0l6j0`1H2285646s1E3%2%456x1+1T2g7N292b2n2p6H8i0T6M0Q6O0y6Q6?6S4;6U3h057}7A6Z7c5b6{405r7(46484a7H5:7)4g8:4w7h2_6{4q7D8^3l7G8~8L757m7=4K4M91577g8:7K7+5i997q5E7S7A7V5w988)047/5p7;6{4w597{5Q3#2M8Z5V3(5.6a2Q862u886h6j6l6n8a6r1x372$6w1S8I6A7=6D8O6G0J6I6K8S6N6P9u3-8Z2_6?8(8L4K3`8:8.6s957!0n6,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 😊.
.128013,:ag)R1ikn/SA=vmsuhb;yxe2odt c(wr_P3qplf050B0y0C0d0i0N0r0D0E0N0d0r0r0o010C0i0M010406050r0s0q0q0d0H0w040m0A0N0s0)0A0k0D020d0q0M0v0D0g0y0?0H0L0s0y0r050l0:0=0@0_0.0M041h1o051r0l1r1t1o0.0B0i0p0X0Z0#0%0t0i0e0t0N1H0t0C0,050S0u0N0y1C0!0$011G1I1K1I0C1Q1S1O0C0u0A0B0_1P0H1p0C0t0X0|0r0M0d0k0%0z011U1E010O0U0y0k140y1O1_1{201W231S260q28040a0D0J0H0A0M0A0r0i0 110Q1@0H0H0y0E2t1h2a0k1p0l1=2F0C1:1/1;0B2c0%1K0k252q1O1z1B0Y1V2P0i2R0k1,1A1O0M2y1p2D2F2-0/1`112X212$0H0?0N0,0h2C2;0-2:2b2?1W2^2`0,0z2~1{2F2*0y2F2V2I0B2M2O010E1,2i0P1A1p3c2,2 392E053l0Q3s321D1W0j0,0Q0O3u3z2=3B0%0G0,0D3H313J2Y010k0O0,0A0s0I0y0x0Y0s2r3G1i3t2D3j0+040F3P3,330%0k0,0d3;2;3-0,0b3H3O3=3K3T0,0u3{3A3S3.0f0c3H060D4f413|3?013D042y0C0s0H0k403Q3j3^043X473R213.3:3*3a4t4j4v0R4y3}3/4J4G3_4M433.3 4D2E4h482@0,2$4r4T3I4K4C2/423S4v464#4F4Q0,0f0f4S2-4V4z340,4I4.4*4A0,4(3+4i434v4Z4P4951584X043`4~5459044?4s4 4{044-4)5g505i0f4d1h3x3d1q2+1h3f1h0C3h5C2K2G1+1-2I0d1R5x0l3f1n4$4j2y0q0I0O0d0j0y0I0t0K0,191b1d1f0D4c4.1u301o0n0~2y0D2*2o2q2s0i100D2v0r0|0~5}110c3O5/1y1A3j1Y1J1L1N5R432e25270,2k0m0E0H0*0C2l0w1=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.0l6B5y5N5P1s045=2J1T5_2p2r2t5 1T610}7(661q302V6b1L1!1M296%0%6i2g2i6m6o6q6s6u6`3t6x2/4.7S5l0%6E0y3)7F3S6I6K7z4u6O3X3Z3#0}6T7t5h524E8a6Y7E8j7f3~6$744,7M4b4d4g7J6?040i8e7o6|5m8x8u7`790,6.2 6:8H4f8O8b6@0R6_8B78566v8r5r8t3v8v8D8-1W4a8G6;8v4l6^4q8)7j6)3a7Q7S1u5z5O3p7Q0Q0S0U0r04.
5. Opérateur non_ou
Compléter la fonction suivante.
.128013,:)ag1ikn/S=vmsubhye2odt c(wr_Pplf050x0u0y0e0h0H0p0z0A0H0e0p0p0m010y0h0G010406050p0q0o0o0e0D0t040l0w0H0q0Z0w0j050k0*0,0.0:0(0G040|1305160k1618130(0x0h0n0R0T0V0X0s0h0f0s0H1m0s0y0$050M0r0H0u1h0U0W011l1n1p1n0y1v1x1t0y0r0w0x0:1u0D140y0s0R0?0p0G0e0j0X0v011z1j010I0O0u0j0e0o0u1t1X1Z1(1B1+1x1.1:0$0a0z0F0D0w0G0w0p0h0_0j0z0K1V0D0D0u0A280|1?0j140k1T2l0y1R1Q1S0x1^0X1p0j1-251t1e1g0S1A2v0h2x0j1N1f1t0G2e142j2l2P0)1Y292D1)2I0D0-0H0$0g2i2T0%2S1@2V1B2X2Z0$0v2%1Z2l2M0u2l2B2o0x2s2u010A1N1;142{172N2*2k2=39310K2O2T2 0i0$0K0I3a3e2+1i1B0C0$0z3l382 0j0I0$2I0j0E0w0q3t2j2 0#040B3E3f2,0X0j0$0e3K3n2E013H0b3l3s3F3M013O040r3R2U3o0X3H0d0c3l060z3=3Y3L3+013h042e0y0q0D0{0}2(3@3S2W3y0`3)3G0$3J422?3u3!3$3C493!3H4c2R3Z3_3$3Q4d394o3T3V3X4f4p0$3(4s3m3*4v0$0d0d3:0|3c2_15370k352m2}0|2p2o1M1O2o0e1w4M4P1f2)4P0L0N0P04.
6. Opérateur non_et
Compléter la fonction suivante.
.128013,:)ag1ikn/S=vmsubhye2odt c(wr_Pplf050x0u0y0e0h0H0p0z0A0H0e0p0p0m010y0h0G010406050p0q0o0o0e0D0t040l0w0H0q0Z0w0j050k0*0,0.0:0(0G040|1305160k1618130(0x0h0n0R0T0V0X0s0h0f0s0H1m0s0y0$050M0r0H0u1h0U0W011l1n1p1n0y1v1x1t0y0r0w0x0:1u0D140y0s0R0?0p0G0e0j0X0v011z1j010I0O0u0j0e0o0u1t1X1Z1(1B1+1x1.1:0$0a0z0F0D0w0G0w0p0h0_0j0z0K1V0D0D0u0A280|1?0j140k1T2l0y1R1Q1S0x1^0X1p0j1-251t1e1g0S1A2v0h2x0j1N1f1t0G2e142j2l2P0)1Y292D1)2I0D0-0H0$0g2i2T0%2S1@2V1B2X2Z0$0v2%1Z2l2M0u2l2B2o0x2s2u010A1N1;142{172N2*2k2=39310K2O2T2 0i0$0K0I3a3e2+1i1B0C0$0z3l382 0j0I0$2I0j0E0L3t2j2 0#040B3D3f2,0X0j0$0e3J3n2E013G0b3l3s3E3L013N040r3Q2U3o0X3G0d0c3l060z3;3X3K3*013h042e0y0q0D0{0}2(3?3R2W3y0`3(3F0$3I412?3u3Z3#3C4c393Y3^3G4b2R4k3S3#3P4i3m3)3S3U3W4e3^3#3%4t4z4w0$0d0d3/0|3c2_15370k352m2}0|2p2o1M1O2o0e1w4M4P1f2)4P0L0N0P04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)