Zoom matrice image

Dessin de coeur

Un dessin va s'afficher...

On travaille sur des dessins en noir et blanc obtenu à partir de pixels noirs et blancs : La figure « cœur » ci-dessus va servir d'exemple. On la représente par une grille de nombres, c'est-à-dire par une liste composée de sous-listes de même longueur. Chaque sous-liste représentera donc une ligne du dessin.

La fonction zoom_liste prend en arguments une liste liste_depart et un entier k. Elle renvoie une liste où chaque élément de liste_depart est dupliqué k fois.

Exemple
>>> ligne =  [0, 1, 0]
>>> zoom_liste(ligne, 2)
[0, 0, 1, 1, 0, 0]

La fonction zoom_dessin prend en argument la grille dessin et renvoie une grille où toutes les lignes de dessin sont zoomées k fois et répétées k fois.

Exemple
>>> croix =  [[0, 1, 0],
...           [1, 1, 1],
...           [0, 1, 0]
...           ]
>>> zoom_dessin(croix, 2)
[[0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0]]
fonction affiche

La fonction affiche permet d'afficher le dessin. Les pixels noirs (1 dans la grille) seront représentés par le caractère "*" et les blancs (0 dans la grille) par deux espaces.

>>> coeur = [
...       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
...       [0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0],
...       [0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0],
...       [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
...       [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
...       [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
...       [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
...       [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
...       [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0],
...       [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
...       [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
...       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
...    ]
>>> affiche(coeur)

    * *       * *
  *     *   *     *
*         *         *
*                   *
*                   *
  *               *
    *           *
      *       *
        *   *
          *

>>> affiche(zoom_dessin(coeur,3))

                * * * * * *                   * * * * * *
                * * * * * *                   * * * * * *
                * * * * * *                   * * * * * *
          * * *             * * *       * * *             * * *
          * * *             * * *       * * *             * * *
          * * *             * * *       * * *             * * *
    * * *                         * * *                         * * *
    * * *                         * * *                         * * *
    * * *                         * * *                         * * *
    * * *                                                       * * *
    * * *                                                       * * *
    * * *                                                       * * *
    * * *                                                       * * *
    * * *                                                       * * *
    * * *                                                       * * *
          * * *                                           * * *
          * * *                                           * * *
          * * *                                           * * *
                * * *                               * * *
                * * *                               * * *
                * * *                               * * *
                      * * *                   * * *
                      * * *                   * * *
                      * * *                   * * *
                            * * *       * * *
                            * * *       * * *
                            * * *       * * *
                                  * * *
                                  * * *
                                  * * *
fonction affiche_pixel

La fonction affiche_pixel permet d'afficher le dessin avec la représentation des pixels noirs et blancs.

Compléter le code dans l'IDE pour obtenir les résultats ci-dessus :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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
Évaluations restantes : 10/10

.128013s3o_8bcdufvg/0ly n7apS.r1me,(P2=4:twzki9][5h)6050i0B0J0u0N0p0b0r0h0p0u0b0b0G010J0N0v010406050b0j0A0A0u0y0q040w0d0p0j0/0d0s050n0_0{0}0 0@0v04181f051i0n1i1k1f0@0i0N0l0%0)0+0-0S0N0m0S0p1y0S0J0=050Y0g0p0B1t0*0,011x1z1B1z0J1H1J1F0J0g0d0i0 1G0y1g0J0S0%120b0v0u0s0-0F011L1v010k0!0B0s0u0A0B1F1-1/1@1N1`1J1}1 0=0a0r0E0y0d0v0d0b0N150s0r0W1+0y0y0B0h2k18220s1g0n1)2x0J1%1$1(0i240-1B0s1|2h1F1q1s0(1M2H0N2J0s1Z1r1F0v2q1g2v2x2#0^1.2l2P1^2U0y0|0p0=0r0z2u2)0?2(232+1N2-2/2;0F2@1/2_2v2G012~0u2:040r0c322w0@352|0-383a0r0H3e342)363k2;0R3o3g3q3i370d2.392;0U3v2`2*1u2}3A2 3b0t3F3h3I3j3K3C3b0f3O3x3Q3z3B3l0O3W2{3Y3s040z0o3%3H2Q3Z3L0z2?192^3w3(3:3*0z313^333`3/2,3S3a0z3d403f3G3r450=0z3n492x2Y0B2x2N2A0i2E360h1Z201g4m1j2Z3G2$2^054r0W2!3X3:0M0=0W0k3o4b3y0K2;4L3P3|0k0=0L0d0d0A0e1B0b0J0B4Q4F1^0;040D4(3{2,0=4!4$0e0W1.0y0J4.431N4+0C3o0r4M3)0=0M4|364+0T0I3v0r5d524R4:044=0B0e4V4X51533:0d0=0G5o5g4~0=0Q0P5c5e5p1^4H040k3A5u4)2}0=0B0p4{4h5f5J0-0d4O042S5I4/5K5i0N4#5k4^0}5O2%5v0-4+5b4h065e5=5Q5Y0-5E5G0y5X4}3j0=0N5}365T60175P5C2}0g0=0y1/0m4%4h685-0=4-6g5,3755573y595/2#5;5?6v6h6n5!5$5l4W0A6p3Y5r040x6E3|0=0u0v0v1|0i6J4*6j6R5Z5M5*4A6m595A5d6x5E2q0J0j0y662#5@5~6y5j6B5n5:42365E4J6U0-5U526l5R374T045m4Y0W0+5W715^014+6k5+720s0=0m0y0!1J6}7d0=50676m7i04567b6:6r6#6/3r7j7l0p1J6?6D7s726G5t7J7c4+5y7A6%0=5{623y7u1R2J7V6F5U7a6.6x7u7k7m6f7g7O0=6s3_6v6$7t4;5#4?767!5q5s7}5h764Z7`7-6Y727e7o7X1y7Z7x587q805Z7w7.7y0=0T7A5=7S5F5H7N6:7u618s637$6-2^7B7W6a046c0s6e7o888d7W6o8K3Y7z5:7?5?7)7D7,7H7o6G6I8N6K046M6O0s6Q8!6S4,897_6A7|8+5w048m8Q5B6m6(0X6+8z338B54047+7F5k8;6t184C4k1h4x0n4v2y4o182B2A1Y1!2A0u1I9b9e1r2_9e0X0Z0#04.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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
Évaluations restantes : 10/10

.128013s3o_8bcdufvg/0ly n7apS.r1me,(P2=4:twzki9][5h)6050i0B0J0u0N0p0b0r0h0p0u0b0b0G010J0N0v010406050b0j0A0A0u0y0q040w0d0p0j0/0d0s050n0_0{0}0 0@0v04181f051i0n1i1k1f0@0i0N0l0%0)0+0-0S0N0m0S0p1y0S0J0=050Y0g0p0B1t0*0,011x1z1B1z0J1H1J1F0J0g0d0i0 1G0y1g0J0S0%120b0v0u0s0-0F011L1v010k0!0B0s0u0A0B1F1-1/1@1N1`1J1}1 0=0a0r0E0y0d0v0d0b0N150s0r0W1+0y0y0B0h2k18220s1g0n1)2x0J1%1$1(0i240-1B0s1|2h1F1q1s0(1M2H0N2J0s1Z1r1F0v2q1g2v2x2#0^1.2l2P1^2U0y0|0p0=0r0z2u2)0?2(232+1N2-2/2;0F2@1/2_2v2G012~0u2:040r0c322w0@352|0-383a0r0H3e342)363k2;0R3o3g3q3i370d2.392;0U3v2`2*1u2}3A2 3b0t3F3h3I3j3K3C3b0f3O3x3Q3z3B3l0O3W2{3Y3s040z0o3%3H2Q3Z3L0z2?192^3w3(3:3*0z313^333`3/2,3S3a0z3d403f3G3r450=0z3n492x2Y0B2x2N2A0i2E360h1Z201g4m1j2Z3G2$2^054r0W2!3X3:0M0=0W0k3o4b3y0K2;4L3P3|0k0=0L0d0d0A0e1B0b0J0B4Q4F1^0;040D4(3{2,0=4!4$0e0W1.0y0J4.431N4+0C3o0r4M3)0=0M4|364+0T0I573y0b0z0=003v0r5j524R4:044=0B0e4V4X51533:0d0=0G5u5m4~0=0Q0P5i5k5v1^4H040k3A5A4)2}0=0B0p4{4h5l5P0-0d4O042S5O4/5Q5o0N4#5q4^0}5U2%5B0-4+5b4h065k5{5W5(0-5K5M0y5%4}3j0=0N63365Z66175V5I2}0g0=0y1/0m4%4h6e5?0=4-6m5=37555c3Y595^2#5`5|6B6n6t5*5,5r4W0A6v5w0=0x6K5n0u0v0v1|0i6O5C4,6V65045S5:4A6s595G5j6D5K2q0J0j0y6c2#5}646E5p6H5t5_42365K4J6Y015!526r5X374T045s4Y0W0+5$765~014+6q5;770s0=0m0y0!1J724 683y7n04567g6^6x6*6@3r7o7q0p1J6{6J6d6s5x045z7M774+5E7D6,0=617v545*0m2J7Z5w5!7f6?6D7x7p7r6l7l7h5@7D5{7-4;5+4?7b7(1^7O7Q7,6s7x7b4Z7|7;6%7S6p727x1R7%7A580=507R7h7x7z7=7B0=0T7^5H6s605N8l6^7x678y697*6=2^7E7w6g046i0s6k7t8c8h7w6u8Q6w8r6y3_6B6C847G7:7K727O6N8T3|0=6Q6S0s6U8+4*8P8p7F6F7}6I8O048s5_7_8v6h0X6:8F338H7!7/7I5q7~5_184C4k1h4x0n4v2y4o182B2A1Y1!2A0u1I9h9k1r2_9k0X0Z0#04.

Dessin en pixel

Le dessin sera tracé ici