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)
Partager