On considère le code python suivant
data = [
[0,0,0,0,0,1,1,1,1,0],
[0,0,0,0,0,1,0,0,1,0],
[0,0,1,0,1,0,1,1,0,0],
[0,0,1,0,0,1,1,0,1,0],
[0,0,1,0,1,0,0,1,1,0],
[1,0,0,1,0,1,0,0,1,0],
[0,1,0,0,0,1,1,1,1,1],
[0,1,0,0,0,0,1,1,1,1],
[1,0,0,0,1,1,1,0,1,0],
[1,1,1,1,0,0,0,1,1,0]
]
import matplotlib.pyplot as plt
plt.imshow(data)
plt.show()
Exercice 1 :
Ecrire une fonction croix permettant d’obtenir les résultats suivants
>>>croix(9)

>>>croix(5)

proposition de correction
import matplotlib.pyplot as plt
def croix(n):
assert n%2==1,"n doit etre impair"
data=[[0 for i in range(n)] for j in range(n)]
for i in range(n):
data[i][n//2]=1
data[n//2][i]=1
plt.imshow(data)
plt.show()
def diagonales(n):
data=[[0 for i in range(n)] for j in range(n)]
for i in range(n):
data[i][i]=1
data[i][n-1-i]=1
plt.imshow(data)
plt.show()
def bords(n):
data=[[0 for i in range(n)] for j in range(n)]
for i in range(n):
data[0][i]=1
data[n-1][i]=1
data[i][0]=1
data[i][n-1]=1
plt.imshow(data)
plt.show()