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

.128013,[snacPmy7)f]4_wu29l3 (6ev0z8bokp/ihSg1t:5=.dr050T0z0O0f0J0u0d0w0g0u0f0d0d0R010O0J0H010406050d0r0i0i0f0U0j040L0F0u0r0/0F0e050I0_0{0}0 0@0H04181f051i0I1i1k1f0@0T0J0A0%0)0+0-0K0J0M0K0u1y0K0O0=050Y0E0u0z1t0*0,011x1z1B1z0O1H1J1F0O0E0F0T0 1G0U1g0O0K0%120d0H0f0e0-0s011L1v010m0!0z0e0f0i0z1F1-1/1@1N1`1J1}1 0=0a0w0h0U0F0H0F0d0J150e0w0W1+0U0U0z0g2k18220e1g0I1)2x0O1%1$1(0T240-1B0e1|2h1F1q1s0(1M2H0J2J0e1Z1r1F0H2q1g2v2x2#0^1.2l2P1^2U0U0|0u0=0w0N2u2)0?2(232+1N2-2/2;0s2@1/2_2v2G012~0f2:040w0v322w0@352|0-383a0w0o3e342)363k2;0Q3o3g3q3i370F2.392;0y3v2`2*1u2}3A2 3b0k3F3h3I3j3K3C3b0D3O3x3Q3z3B3l0t3W2{3Y3s040N0B3%3H2Q3Z3L0N2?192^3w3(3:3*0N313^333`3/2,3S3a0N3d403f3G3r450=0N3n492x2Y0z2x2N2A0T2E360g1Z201g4m1j2Z3G2$2^054r0W2!3X3:0G0=0W0m3o4b3y0q2;4L3P3|0m0=0C0F0F0i0p1B0d0O0z4Q4F1^0;040x4(3{2,0=4!4$0p0W1.0U0O4.431N4+0b3o0w4M3)0=0G4|364+0l0P3v0w5d524R4:044=0z0p4V4X51533:0F0=0R5o5g4~0=0c0n5c5e5p1^4H040m3A5u4)2}0=0z0u4{4h5f5J0-0F4O042S5I4/5K5i0J4#5k4^0}5O2%5v0-4+5b4h065e5=5Q5Y0-5E5G0U5X4}3j0=0J5}365T60175P5C2}0E0=0U1/0M4%4h685-0=4-6g5,3755573y595/2#5;5?6v6h6n5!5$5l4W0i6p3Y5r040S6E3|0=0f0H0H1|0T6J4*6j6R5Z5M5*4A6m595A5d6x5E2q0O0r0U662#5@5~6y5j6B5n5:42365E4J6U0-5U526l5R374T045m4Y0W0+5W715^014+6k5+720e0=0M0U0!1J6}7d0=50676m7i04567b6:6r6#6/3r7j7l0u1J6?6D7s726G5t7J7c4+5y7A6%0=5{623y7u1R2J7V6F5U7a6.6x7u7k7m6f7g7O0=6s3_6v6$7t4;5#4?767!5q5s7}5h764Z7`7-6Y727e7o7X1y7Z7x587q805Z7w7.7y0=0l7A5=7S5F5H7N6:7u618s637$6-2^7B7W6a046c0e6e7o888d7W6o8K3Y7z5:7?5?7)7D7,7H7o6G6I8N6K046M6O0e6Q8!6S4,897_6A7|8+5w048m8Q5B6m6(0X6+8z338B54047+7F5k8;6t184C4k1h4x0I4v2y4o182B2A1Y1!2A0f1I9b9e1r2_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

.128013,[snacPmy7)f]4_wu29l3 (6ev0z8bokp/ihSg1t:5=.dr050T0z0O0f0J0u0d0w0g0u0f0d0d0R010O0J0H010406050d0r0i0i0f0U0j040L0F0u0r0/0F0e050I0_0{0}0 0@0H04181f051i0I1i1k1f0@0T0J0A0%0)0+0-0K0J0M0K0u1y0K0O0=050Y0E0u0z1t0*0,011x1z1B1z0O1H1J1F0O0E0F0T0 1G0U1g0O0K0%120d0H0f0e0-0s011L1v010m0!0z0e0f0i0z1F1-1/1@1N1`1J1}1 0=0a0w0h0U0F0H0F0d0J150e0w0W1+0U0U0z0g2k18220e1g0I1)2x0O1%1$1(0T240-1B0e1|2h1F1q1s0(1M2H0J2J0e1Z1r1F0H2q1g2v2x2#0^1.2l2P1^2U0U0|0u0=0w0N2u2)0?2(232+1N2-2/2;0s2@1/2_2v2G012~0f2:040w0v322w0@352|0-383a0w0o3e342)363k2;0Q3o3g3q3i370F2.392;0y3v2`2*1u2}3A2 3b0k3F3h3I3j3K3C3b0D3O3x3Q3z3B3l0t3W2{3Y3s040N0B3%3H2Q3Z3L0N2?192^3w3(3:3*0N313^333`3/2,3S3a0N3d403f3G3r450=0N3n492x2Y0z2x2N2A0T2E360g1Z201g4m1j2Z3G2$2^054r0W2!3X3:0G0=0W0m3o4b3y0q2;4L3P3|0m0=0C0F0F0i0p1B0d0O0z4Q4F1^0;040x4(3{2,0=4!4$0p0W1.0U0O4.431N4+0b3o0w4M3)0=0G4|364+0l0P573y0d0N0=003v0w5j524R4:044=0z0p4V4X51533:0F0=0R5u5m4~0=0c0n5i5k5v1^4H040m3A5A4)2}0=0z0u4{4h5l5P0-0F4O042S5O4/5Q5o0J4#5q4^0}5U2%5B0-4+5b4h065k5{5W5(0-5K5M0U5%4}3j0=0J63365Z66175V5I2}0E0=0U1/0M4%4h6e5?0=4-6m5=37555c3Y595^2#5`5|6B6n6t5*5,5r4W0i6v5w0=0S6K5n0f0H0H1|0T6O5C4,6V65045S5:4A6s595G5j6D5K2q0O0r0U6c2#5}646E5p6H5t5_42365K4J6Y015!526r5X374T045s4Y0W0+5$765~014+6q5;770e0=0M0U0!1J724 683y7n04567g6^6x6*6@3r7o7q0u1J6{6J6d6s5x045z7M774+5E7D6,0=617v545*0M2J7Z5w5!7f6?6D7x7p7r6l7l7h5@7D5{7-4;5+4?7b7(1^7O7Q7,6s7x7b4Z7|7;6%7S6p727x1R7%7A580=507R7h7x7z7=7B0=0l7^5H6s605N8l6^7x678y697*6=2^7E7w6g046i0e6k7t8c8h7w6u8Q6w8r6y3_6B6C847G7:7K727O6N8T3|0=6Q6S0e6U8+4*8P8p7F6F7}6I8O048s5_7_8v6h0X6:8F338H7!7/7I5q7~5_184C4k1h4x0I4v2y4o182B2A1Y1!2A0f1I9h9k1r2_9k0X0Z0#04.

Dessin en pixel

Le dessin sera tracé ici