Zoom matrice image

image

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.

Dans le code ci-dessous, 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.

La fonction zoom_liste prend en argument une liste liste_depart et un entier k. Elle renvoie une liste oĂč chaque Ă©lĂ©ment de liste_depart est dupliquĂ© k fois.

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.

Exemples

🐍 Console Python
>>> 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))

                * * * * * *                   * * * * * *                  
                * * * * * *                   * * * * * *                  
                * * * * * *                   * * * * * *                  
          * * *             * * *       * * *             * * *            
          * * *             * * *       * * *             * * *            
          * * *             * * *       * * *             * * *            
    * * *                         * * *                         * * *      
    * * *                         * * *                         * * *      
    * * *                         * * *                         * * *      
    * * *                                                       * * *      
    * * *                                                       * * *      
    * * *                                                       * * *      
    * * *                                                       * * *      
    * * *                                                       * * *      
    * * *                                                       * * *      
          * * *                                           * * *            
          * * *                                           * * *            
          * * *                                           * * *            
                * * *                               * * *                  
                * * *                               * * *                  
                * * *                               * * *                  
                      * * *                   * * *                        
                      * * *                   * * *                        
                      * * *                   * * *                        
                            * * *       * * *                              
                            * * *       * * *                              
                            * * *       * * *                              
                                  * * *                                    
                                  * * *                                    
                                  * * *                                    
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 : 5/5
.128013f06S:d=4rAE./oTpg2Ăčbcm1w937CRve[ l,8*P5)ti]knĂ©;zua(_?shq0#0)0H0P0Q0q0H010e0o0I0X0,0o0T0106060H0~0 020I0P0V0q020r1311130n15170V0|0 0 050g0Q0E0H0v0I0Y0$0$0h010%0Q0r0%0I1v0%0P0104050P0Y0u0I0F1m1o1q1s1u1w1y1w0P1F1H0F1C1E0j1D0P0%1m0=0$0q0Y0T1s0s011K1p1r010b0Q1I0T0Y0w1V1D1(1*1/1M1=1@0F1_1{1C0a0H0M0j0o0q0o0$0Q0^0T0H0g1J0v0o0j0j0F0v2h050n1~0T1D0n1!2x0P1Y1X1Z0g201;1y0T242e1W1j1l1n1:1s2I2K2N1W0q2p1}1)2w2t2v2Y1 2P210T2n0w0Y0I1C0H0x2#2Z0406052v2G1s2+0j2-2/040H0s2?1*2^2`2Z2|012~302:0A352w2_2{2)1;3c2.2:0i3g373j1L3l2,3n320N3q3i393k2}3v310H0d3z382(3t3D2 3w0H0B3I3s2Q3b3E2:0K3R3B3L3U3N3F0z3Y3K3T3m310x0c3)2i3C3#3d040x2=2u2@3A3*2*3V3^343{363}3;3!3,1C0x3f433h3J463+400x3p4c3r3Z4g3$493y4k453a483^3H4r4e4t4h3Q4x3S3 4o3^3X4C4m4E3@0x3(4I3~3u4F0s3/4O4f4K3w0s3`2$4s3=4u0s424!4y4$400s4b4*4D4Q3@0s4j4:4J4=4X4q4_4P3M4?4w4~4V4{310s4B2$2t2W0F2x2N2A0g2E3a2m2k2M1k1D5b2%2!4k055j5c4+471C0C0k0D0k0C0p0l0D0l0e3q0H5v3T0o1C0h5I5K210q1C0G3q5Q1;0$0x1C02030A0z0V0~5#5%0V5V4;1s5S040J5P5/015Y5!5$5(0H0L5+5(5.4`5:1C0R3z4#3!0S1C2k0b624 010y2:6e542}0b1C0Y0b1?0v0%0F6j3a5;0Z6u4$6b0F1q0Q0T6y3!5;0O0f3z1g5W1s6a040b2n5@633b1C1Q2J6S6f0o6h046D6Y6k6U042k6C6E5r5^5;6J4r1g6L5^6O6Q0j6(4t6b1v2g6}3=6!1C6%4k5J5^0`046W6t6/6T6;6K6@7i6M3b0u1C2W6D0P6F3T6w7r2*5x5z5B5D5F5H7e6f5;5U7C6)7a1j0r717G6v655?777k7a240g7u1;5M045O7M3=0$1-04020(0X0o187*7,5-7!6G1C0O7h7j797m047o0T7q7;7s1C0Z7@4r0|7k6O6c7V1s6#5J802*6m040W0o0o0w0!1y0$0P7d596:828a6*8n8p0!2k1)0j7 8r7f1C7P2$786T7a0S8u6H6=533a8c1h8e5X0g5{5,600V8Y2p0T0E0o0Q1J0X2J0H8w2l0_8p1_7~0H0S0H6Q0Q0$1m0%0Y7*8q3|7k0$8V320 0U0I0U1{8?2k8-8{8x8z0Y8B8Y9k5|7:4!6^8J6V9f0F0!8i8k723!7X7Z8H7k7E666?1h6_1C6{9x3+1C0F129K21746$6.9B799r8o9t9h8B8M1C8O3|7i0~879I6R7Q9V6$9P7W6#769U8J7{0j1*0r91369C8t8T2}1C8La2018N7^9)9*9/8.9u8j0w8u7X0m8u7a0Y0q0q7T9#046xa67S9Oa66Ha99+042p0P0X0j9T2@8I6f7aad9vag85az89a68cak8gaL8y6B2faF9 8sarak1C0r0j1@1Iaq8GaG7Ra4aq6I3:8Q2:8S8D6f948W5(9l5,8#8%8)0H8+1Ja(a*1J0o0t8-6B9e0r2J8|0$8:0HaL0Ubd8^8`0$a?7#951g0l0p0H0j0U0q0U0Pbm8|bo8(0$a a~9may9/b70I1Iae9w9.6T9z9;64040G9E9o9G6T6`9-9^aI9rbf9~2waH6)9R9@a.bMa)bOb-5p7N049%44aaa/7b9sbQaMb)b:5NbV6*aU8.aqasa`7Hb+6Xaw8Fc98Ka;a99p6fb%6|bSb*9:ctb:9?aYb.7R9`9|b`a0a#ata:cj04a=9Faaab9q04bNbPaLah1CajcH04amao0T7UcJce2@c1aKafcncMb/3a6OaBaDcz32c1cR9tcT4x0n5t2x5o2t5e2t0P5gd42C2y1G1I5d5m.