Information

Author(s) Nicolas Szelagowski
Deadline No deadline
Submission limit No limitation

Sign in

Drill_Facile_Bordures

Écrivez une fonction appelée bordures(m, n), qui prend en entrée deux entiers strictement positifs m et n. Cette fonction doit retourner une matrice de taille m x n (m et n représentant respectivement le nombre de lignes et de colonnes) remplie comme suit :

  • Les bords de la matrice (première et dernière lignes, première et dernière colonnes) sont remplis avec des 1.
  • Toutes les autres cases (l'intérieur de la matrice) sont remplies avec des 0.

Attention : Vous devez vérifier que la matrice a des dimensions valides, avec un minimum de 3 pour le nombre de lignes et de colonnes. Si ce critère n'est pas respecté, la fonction doit retourner None

Exemple : Soient m = 4 et n = 5, la méthode renverra en sortie la matrice

[[1, 1, 1, 1, 1], [1, 0, 0, 0, 1], [1, 0, 0, 0, 1], [1, 1, 1, 1, 1]]

Note : Pour vous aider à visualiser la matrice que vous aurez créée, nous vous fournissons le code de visualisation suivant, utilisant la bibliothèque tkinter, une librairie intégrée dans Python pour créer des interfaces graphiques. Ce code permet d'afficher graphiquement une matrice en utilisant des cases noires pour les 1 et blanches pour les 0 :

import tkinter as tk

def afficher_matrice(mat):
    if mat is None: return
    root = tk.Tk()
    cell_size = 50
    rows, cols = len(mat), len(mat[0])
    canvas = tk.Canvas(root, width=cols * cell_size, height=rows * cell_size)
    canvas.pack()
    for i in range(rows):
        for j in range(cols):
            color = "black" if mat[i][j] == 1 else "white"
            x1, y1 = j * cell_size, i * cell_size
            x2, y2 = x1 + cell_size, y1 + cell_size
            canvas.create_rectangle(x1, y1, x2, y2, fill=color, outline="gray")
    root.mainloop()

Pour visualiser le résultat de votre fonction, exécutez le code suivant sur votre machine:

# copiez collez le code de visualisation ci-dessus
# ajoutez la signature et le le corps de la fonction à implémenter
mat = bordures(4, 5)
afficher_matrice(mat)

Si votre fonction est correctement implémentée, une fenêtre s'ouvrira et affichera la matrice suivante:

Remediation_Tableaux/bordures.png

Implémentation

Écrivez uniquement la signature et le corps de la fonction bordures(m, n)