Bonsoir,
J'essaie de programmer une saisie de matrice pour que python la transforme sous forme de liste. Je suis arrivé au code suivant :
Pourtant ça ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 nbc=int(input("Entrer le nombre de colonne(s) de la matrice : ")) nbl=int(input("Entrer le nombre de ligne(s) de la matrice : ")) mat=[([0]*nbc)]*nbl print(mat) for i in range(nbl): for j in range(nbc): mat[i][j]=int(input("Entrer le terme de la ligne "+str(i)+" et de la colonne "+str(j)+" : ")) print(mat) print("") print(mat)
Quand j'essaie de modifier un nombre de la matrice, il le change mais sur TOUTES les colonnes.Entrer le nombre de colonne(s) de la matrice : 2
Entrer le nombre de ligne(s) de la matrice : 3
[[0, 0], [0, 0], [0, 0]]
Entrer le terme de la ligne 0 et de la colonne 0 : 1
[[1, 0], [1, 0], [1, 0]]
Entrer le terme de la ligne 0 et de la colonne 1 : 2
[[1, 2], [1, 2], [1, 2]]
Entrer le terme de la ligne 1 et de la colonne 0 : 3
[[3, 2], [3, 2], [3, 2]]
Entrer le terme de la ligne 1 et de la colonne 1 : 4
[[3, 4], [3, 4], [3, 4]]
Entrer le terme de la ligne 2 et de la colonne 0 : 5
[[5, 4], [5, 4], [5, 4]]
Entrer le terme de la ligne 2 et de la colonne 1 : 6
[[5, 6], [5, 6], [5, 6]]
[[5, 6], [5, 6], [5, 6]]
L'erreur provient de la création de la matrice vide, mais je ne sais pas du tout comment la corriger (j'ai essayé déjà d'autres méthodes comme le .append mais ça revient au même).
Si vous pourriez m'aider à me diriger vers la solution...
Partager