Ajout d'une colonne
On dispose d'un tableau non-vide ne contenant que des 0
et des 1
et on
voudrait lui rajouter une colonne à droite ou figurent les totaux par ligne.
Par exemple, le tableau :
sera représenté en machine par la liste de listes suivante :
🐍 Script Python
tab1 = [
[0, 1, 1, 1, 0, 1],
[0, 0, 1, 0, 0, 1],
[1, 0, 0, 1, 1, 0],
[1, 0, 0, 1, 1, 1],
]
et deviendra :
Écrire la fonction ajoute_colonne
qui prend en paramètre une liste non vide tab
et la modifie en
lui ajoutant la colonne décrite précédemment.
Modification « en place »
La liste tab
passée en argument est directement modifiée :
- il n'est pas demandé de créer une nouvelle liste modifiée,
- la fonction
ajoute_colonne
ne doit rien renvoyer.
Fonction sum
interdite
Pour résoudre cet exercice, il est interdit d'utiliser la fonction sum
.
Exemples
>>> tab_1 = [[0, 1, 1, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 0, 1, 1, 0], [1, 0, 0, 1, 1, 1]]
>>> ajoute_colonne(tab_1)
>>> tab_1
[[0, 1, 1, 1, 0, 1, 4], [0, 0, 1, 0, 0, 1, 2], [1, 0, 0, 1, 1, 0, 3], [1, 0, 0, 1, 1, 1, 4]]
>>> tab_2 = [[0, 0, 0], [0, 0, 0]]
>>> ajoute_colonne(tab_2)
>>> tab_2
[[0, 0, 0, 0], [0, 0, 0, 0]]
>>>
x
x
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
.128013_èc.ms7ja1e[0kPSgpf;5I/(uE)8rbl]éoRx4wq=+ vhd,t263y:in050T0l0V0j0#0F0g0Q0d0F0j0g0g0O010V0#0s010406050g0z0f0f0j0D0Z040q0I0F0z0`0I0$0Q020j0f0s0u0Q0J0l140D0N0z0l0g050x111315170 0s04051C1v1F0x1C0 0T0#0R0/0;0?0^0S0#0r0S0F1T0S0V0}050*0E0F0l1O0=0@011S1U1W1U0V1$1(1!0V0D1D0V0S0/1a0g0s0j0$0^0W011*1Q010t0,0l0$1i0l1!2022271,2a1(2d0f2f040a0Q0p0D0I0s0I0g0#1d1f0(1~0D0D0l0d2A1v2h0$1D0x1|2M1_1{1`1#0T2j0^1W0$2c2x1!1L1N0:1+2W0#2Y0$0I2$1!0s2F1D2K2M2@10211f2(282-0D140F0}0k2J2{0~2`2i2}1,2 310}0W3522372K2V013c0j32040Y3g2L0 3j3a0^3m3o0L3r3i2{3k3x0}0v3A3t3C3v3l0I303n0}0X3H382|1P3b3M3d040h3R3u3U3w3W3O040C3A1G2=1v2$2P0T1{2U3K0d2.2p0%1M1D2;0l2?363,3_0(41393$010o0}0(0t3,3#2)010M0}0Q4e3J480$0t0}0j0i0I1c0l0b3_0F1e2Y4l474g0|040y4B3T4g0$0}1$4H3k4E0B0!3H0Q4T4k4f2~0}0S0j4u0z0D3A4V4m4g0I0}0O4(3S3D0E0}2m4N3K4E4G1w424W3b4L0j0E4^484P4S4U4:3K4K040;0D0r0l4$4/4~0^4,044.4|3h4)4C2~4=5b2c534D0}4{2_5i3l50525n2L58540}0m5v280f0#0}0n5K1,4E0G0B564T5G4g4a040t3M5h4*4X040#5%5q1,0I4i5*0$5,4I5r0}0D225e5Q0^4`5}5B044Z4#4%5E465@5R0}4Q5V4U5W5A5a0g0I130l5?3k5k5m2@5p680^5M5O6c6d5X285Z5#656p6x4 040i6l3K5/0}2+6H4n5s5`0$5|666D5~5x605a5c5e5g6S5A4P4R66066d6+576f0}6h6j6M4+0}0P6o366q3D5C604E5J6#5(6E5+715-6U040G705z723w0}6G756r015S6v6-7c614M7g4O5I6W6K6~0}0G605k0e7s040j0s0s2c0T7u4F7A6:2o7H5U6)1v44403-7R0x3:1v0V3=7W2S2N511(2M3:1B673k2F0f0b0t0j0o4v0S0Y0}1n1p1r1t0Q6(2_1I371C0w0F0Q0g0l5`2z0Q4!0?0#0Q2w8d1%1)2C878f1+880Q2C0F002+1L0d1)057Q6F7P3`040Q2c8m0D3_4$220V8p0#2F2H1o2c8K1(0.0R3n5f0D0.2C0d4Z7|0Q1:2Y7~1G372$3k1.1V1X1Z7+3K2l2c2e0}2r0q0d0D0{8K0p0Z1|1e3,3 672^428y6T494b0l4d7p3K5:4k9h4n4p7B4s4u4w1a4z6k9l5w7I9v5)7o7b767i6a7 366*7l9C5a630V8W6=286n9O3b5s4@9y699x9B7h5a9A4}7m556)6w5A6z5$666{597t9.9c6J5;9R3w6O5{9u9Y7q9X9$9J4Y4!9M6!9~4_9E7k6e7m6g6i7L9=5A9Qag7m6t045P9)6,9/489,6B6`9c5a0K9_019@6Laja2049#3h9c6 7A74a75H789F3h9Hap9I9Z6/ae9}auah6@6_5oav0}axao6,a$aE517H7aa1aT5*7H7w9V5j0}7za^617C7E0$7Ga|5 a|ad6;b26a3R0x9b1I3.7U3}7*0A1f2w4$111M8J0/0)9M0Q0#0T0H1)0)8Dbi2u2a0*0$8K0T0z0/150j2H0c2F0Q0f1c7$8j7}1W0g9M0.101_1e0r0492945=1wbX6Q040U0Q1e8f5f8K8c2y861)210?8o3_1j0F0c9M2obC060T8sb00#8v0.6(1J3|2%488/1:1Y2g7m8^2n2p8|8~902s930S956S973S99aG9b9+9e9gaL4g9j6W9n4r4t9M9r4y0$4Ab7a0aG6.a,5DcD286%6c9casay6X1TcO6Cah5:aBc)ac6}cPaO3saRa+7KaWa#aY5layalan2@aQ6+cZ0}6Ac#a%ayaAb%c-aD8(c_5F6$0}c;0~aR9*c.04c^d8aZd604a(d0c?cSdd7xa`7Aa~7F7H5ya:6|dnaV7Mb9bbcvbe0R377U0)0+0-04.
def ajoute_colonne(tab):
hauteur = len(...)
largeur = len(...)
for i in range(...):
somme = ...
for j in range(...):
somme = ...
tab[...].append(...)
# Tests
tab_1 = [[0, 1, 1, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 0, 1, 1, 0], [1, 0, 0, 1, 1, 1]]
ajoute_colonne(tab_1)
assert tab_1 == [
[0, 1, 1, 1, 0, 1, 4],
[0, 0, 1, 0, 0, 1, 2],
[1, 0, 0, 1, 1, 0, 3],
[1, 0, 0, 1, 1, 1, 4],
]
tab_2 = [[0, 0, 0], [0, 0, 0]]
ajoute_colonne(tab_2)
assert tab_2 == [[0, 0, 0, 0], [0, 0, 0, 0]]
# Tests
(insensible à la casse)(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
(Esc)
>>>
x
x
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
.128013_èc.ms7ja1e[0kPSgpf;5I/(uE)8rbl]éoRx4wq=+ vhd,t263y:in050T0l0V0j0#0F0g0Q0d0F0j0g0g0O010V0#0s010406050g0z0f0f0j0D0Z040q0I0F0z0`0I0$0Q020j0f0s0u0Q0J0l140D0N0z0l0g050x111315170 0s04051C1v1F0x1C0 0T0#0R0/0;0?0^0S0#0r0S0F1T0S0V0}050*0E0F0l1O0=0@011S1U1W1U0V1$1(1!0V0D1D0V0S0/1a0g0s0j0$0^0W011*1Q010t0,0l0$1i0l1!2022271,2a1(2d0f2f040a0Q0p0D0I0s0I0g0#1d1f0(1~0D0D0l0d2A1v2h0$1D0x1|2M1_1{1`1#0T2j0^1W0$2c2x1!1L1N0:1+2W0#2Y0$0I2$1!0s2F1D2K2M2@10211f2(282-0D140F0}0k2J2{0~2`2i2}1,2 310}0W3522372K2V013c0j32040Y3g2L0 3j3a0^3m3o0L3r3i2{3k3x0}0v3A3t3C3v3l0I303n0}0X3H382|1P3b3M3d040h3R3u3U3w3W3O040C3A1G2=1v2$2P0T1{2U3K0d2.2p0%1M1D2;0l2?363,3_0(41393$010o0}0(0t3,3#2)010M0}0Q4e3J480$0t0}0j0i0I1c0l0b3_0F1e2Y4l474g0|040y4B3T4g0$0}1$4H3k4E0B0!3H0Q4T4k4f2~0}0S0j4u0z0D3A4V4m4g0I0}0O4(3S3D0E0}2m4N3K4E4G1w424W3b4L0j0E4^484P4S4U4:3K4K040;0D0r0l4$4/4~0^4,044.4|3h4)4C2~4=5b2c534D0}4{2_5i3l50525n2L58540}0m5v280f0#0}0n5K1,4E0G0B564T5G4g4a040t3M5h4*4X040#5%5q1,0I4i5*0$5,4I5r0}0D225e5Q0^4`5}5B044Z4#4%5E465@5R0}4Q5V4U5W5A5a0g0I130l5?3k5k5m2@5p680^5M5O6c6d5X285Z5#656p6x4 040i6l3K5/0}2+6H4n5s5`0$5|666D5~5x605a5c5e5g6S5A4P4R66066d6+576f0}6h6j6M4+0}0P6o366q3D5C604E5J6#5(6E5+715-6U040G705z723w0}6G756r015S6v6-7c614M7g4O5I6W6K6~0}0G605k0e7s040j0s0s2c0T7u4F7A6:2o7H5U6)1v44403-7R0x3:1v0V3=7W2S2N511(2M3:1B673k2F0f0b0t0j0o4v0S0Y0}1n1p1r1t0Q6(2_1I371C0w0F0Q0g0l5`2z0Q4!0?0#0Q2w8d1%1)2C878f1+880Q2C0F002+1L0d1)057Q6F7P3`040Q2c8m0D3_4$220V8p0#2F2H1o2c8K1(0.0R3n5f0D0.2C0d4Z7|0Q1:2Y7~1G372$3k1.1V1X1Z7+3K2l2c2e0}2r0q0d0D0{8K0p0Z1|1e3,3 672^428y6T494b0l4d7p3K5:4k9h4n4p7B4s4u4w1a4z6k9l5w7I9v5)7o7b767i6a7 366*7l9C5a630V8W6=286n9O3b5s4@9y699x9B7h5a9A4}7m556)6w5A6z5$666{597t9.9c6J5;9R3w6O5{9u9Y7q9X9$9J4Y4!9M6!9~4_9E7k6e7m6g6i7L9=5A9Qag7m6t045P9)6,9/489,6B6`9c5a0K9_019@6Laja2049#3h9c6 7A74a75H789F3h9Hap9I9Z6/ae9}auah6@6_5oav0}axao6,a$aE517H7aa1aT5*7H7w9V5j0}7za^617C7E0$7Ga|5 a|ad6;b26a3R0x9b1I3.7U3}7*0A1f2w4$111M8J0/0)9M0Q0#0T0H1)0)8Dbi2u2a0*0$8K0T0z0/150j2H0c2F0Q0f1c7$8j7}1W0g9M0.101_1e0r0492945=1wbX6Q040U0Q1e8f5f8K8c2y861)210?8o3_1j0F0c9M2obC060T8sb00#8v0.6(1J3|2%488/1:1Y2g7m8^2n2p8|8~902s930S956S973S99aG9b9+9e9gaL4g9j6W9n4r4t9M9r4y0$4Ab7a0aG6.a,5DcD286%6c9casay6X1TcO6Cah5:aBc)ac6}cPaO3saRa+7KaWa#aY5layalan2@aQ6+cZ0}6Ac#a%ayaAb%c-aD8(c_5F6$0}c;0~aR9*c.04c^d8aZd604a(d0c?cSdd7xa`7Aa~7F7H5ya:6|dnaV7Mb9bbcvbe0R377U0)0+0-04.
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)