Aller au contenu

Parcourir une matrice☘

Pour parcourir tous les éléments d'un tableau de tableaux, il faut utiliser des boucles imbriquées, chaque boucle parcourant une dimension du tableau (lignes et colonnes lorsque le tableau a deux dimensions).

Parcours par les valeurs d'éléments☘

>>> mat = [ [9, 8, 7], [6, 5, 4], [3, 2, 1] ]

>>> for ligne in mat:
...     print(ligne)
...     for elt in ligne:
...         print(elt)
Affichage obtenu
[9, 8, 7]
9
8
7
[6, 5, 4]
6
5
4
[3, 2, 1]
3
2
1

Parcours par les indices des éléments☘

>>> mat = [ [9, 8, 7], [6, 5, 4], [3, 2, 1] ]

>>> for i in range(len(mat)):
...     print(mat[i])
...     for j in range(len(mat[i])):
...         print(mat[i][j])
Affichage obtenu
[9, 8, 7]
9
8
7
[6, 5, 4]
6
5
4
[3, 2, 1]
3
2
1

Exercice☘

Complétez la définition de la fonction produit_elements() qui renvoie la somme des éléments du tableau matrice à deux dimensions passé en paramètre.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def produit_elements(matrice):
    """
    matrice - tableau de tableaux de nombres entiers
    Sortie: int - somme des éléments contenus dans le tableau matrice
    >>> A = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
    >>> produit_elements(A)
    362880
    """
    pass


##----- Programme de test -----##
if __name__ == "__main__":
    import doctest
    doctest.testmod()
Une solution
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
def produit_elements(matrice):
    """
    matrice - tableau de tableaux de nombres entiers
    Sortie: int - somme des éléments contenus dans le tableau matrice
    >>> A = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
    >>> produit_elements(A)
    362880
    """
    p = 1
    for ligne in matrice:
        for element in ligne:
            p = p*element
    return p

##----- Programme de test -----##
if __name__ == "__main__":
    import doctest
    doctest.testmod()