Bonjour,
J'aimerais rogner une matrice mais j'ai un problème de dimension. En effet, j'ai des pièces de tetris ou je dois enlever les zéros par exemple O=np.array([[1,1,0],[1,1,0],[0,0,0]]) ma fonction marche pour cette pièce mais pas pour le I=np.array([[1,1,1],[0,0,0],[0,0,0]]) où je dois rogner deux fois, je ne sais pas comment faire j'avais pensé à une boucle for pour tout faire une seconde fois mais j'ai un problème de dimension.
Merci par avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def rogner(matrice):
    L_ligne=[]
    L_colonne=[]
    size=np.shape(matrice)
    for i in range(size[0]):
        ligne=0
        colonne=0
        for j in range(size[1]):
            ligne+=matrice[i,j]
            colonne+=matrice[j,i]
        if ligne==0:
            L_ligne.append(i)
        if colonne==0:
            L_colonne.append(j)
    if len(L_ligne)>0:
        matrice=np.delete(matrice,(i),0)
    if len(L_colonne)>0:
        matrice=np.delete(matrice,(j),1)
    print(matrice)