En mathématiques, on utilise des tableaux de nombres à deux dimensions appelés matrices. On utilsera ici des listes de listes.
Une matrice à 4 lignes et 2 colonnes :
A = [[1,2],[3,4],[5,6],[7,8]]
print(A)
Pour obtenir le nombre de lignes :
len(A)
Pour obtenir le nombre de colonnes :
len(A[0])
Une matrice à 2 lignes et 3 colonnes :
B = [[1,2,3],[6,4,5]]
print(B)
print(len(B), ' lignes et ', len(B[0]), ' colonnes')
Pour accéder à une ligne :
print(B[0])
Pour accéder à un élément de la matrice :
print(B[0][0] , B[1][2] , B[1][0])
Ecrire une fonction somme qui prend en paramètre une matrice et retourne la somme de tous ses éléments.
def somme(M):
# M est une liste de listes
S = 0
for i in range(len(M)):
for j in range(len(M[0])):
S = S + M[i][j]
return S
B = [[1,2,3],[6,4,5]]
somme(B)
Ecrire une fonction max_matrice qui prend en paramètre une matrice et retourne le plus grand de ses éléments.
def max_matrice(M):
# M est une liste de listes
m = M[0][0]
for i in range(len(M)):
for j in range(len(M[0])):
if M[i][j] > m:
m = M[i][j]
return m
B = [[1,2,3],[6,4,5]]
max_matrice(B)
Ecrire une fonction max_lignes qui prend en paramètre une matrice et retourne l'indice de la ligne de somme maximale.
def max_lignes(M):
# M est une liste de listes
def somme_ligne(A,k):
# retourne la somme de la ligne k de la matrice A
S = 0
for j in range(len(A[k])):
S = S + A[k][j]
return S
m = somme_ligne(M,0)
indice_max = 0
for i in range(1,len(M)):
aux = somme_ligne(M,i)
if aux > m:
m = aux
indice_max = i
return indice_max
C = [[1,8,2,10],[0,0,0,1],[70,1,1,1],[1,2,3,4]]
max_lignes(C)
Ecrire une fonction max_colonnes qui prend en paramètre une matrice et retourne l'indice de la colonne où se trouve le plus grand élément de la matrice.
def max_colonnes(M):
# M est une liste de listes
def somme_colonne(A,k):
# retourne la somme de la colonne k de la matrice A
S = 0
for i in range(len(A)):
S = S + A[i][k]
return S
m = somme_colonne(M,0)
indice_max = 0
for j in range(1,len(M[0])):
aux = somme_colonne(M,j)
if aux > m:
m = aux
indice_max = j
return indice_max
D = [[1,8,2,10],[0,0,0,1],[70,1,1,1],[1,2,3,4]]
print(max_colonnes(D))