
Voici une fonction possible :
\begin{python}
def carre(n):
    for y in range(1,n+1):
        if y == 1 or y == n:
            print( '*' * n )
        else:
            motif = '*' + ' '*(n-2) + '*'
            print( motif )
\end{python}
Sur la première et dernière ligne, on souhaite écrire un motif rempli d'étoiles.

Entre ces lignes, il faut que le motif soit constitué d'une étoile, puis d'une espace vide sur $(n-2)$ caractères, puis terminer avec une étoile.

La ligne 2 définit une boucle itérative sur le numéro de ligne (que j'ai désigné par la variable \texttt{y}): je vais de la ligne 1 à la ligne $n$.

Ensuite, j'effectue un test pour savoir si la ligne est la première ou la dernière (ligne 3), auquel cas j'affiche $n$ étoiles). Dans le cas contraire, je construis le motif comme précédemment défini, et je l'affiche.
