Matrice python

Bonjour,

je vais par la présente vous demandez de l'aide sur cet exercice que je ne comprends pas tres bien.

Écrire une fonction en python modifierMat(matrice) qui permet de modifier seulement les nombres paires par leurs racine carrée. Cette fonction prend en paramètre une matrice. Une matrice est une liste à deux dimensions. Tester la fonction modifierMat.

Exemple :

>>> matrice = [[5, 3, 8], [7, 4, 6], [1, 9, 2], [8, 7, 1], [3, 2, 9], [4, 6, 5]] >>> modifierMat(matrice) >>> matrice [[5, 3, 2.8284271247461903], [7, 2.0, 2.449489742783178], [1, 9, 1.4142135623730951], [2.8284271247461903, 7, 1], [3, 1.4142135623730951, 9], [2.0, 2.449489742783178, 5]]

Voici ce que j'ai pu faire mais je bloque depuis:

from math import sqrt

def modifierMat(matrice):
    
    matrice=[]
    for i in range(len(matrice)):
        for j in range(len(matrice[i])):
                       if (j%2==0):
                           matrice=sqrt.matrice[j]
                       return matrice
mat = [[5, 3, 8], [7, 4, 6], [1, 9, 2], [8, 7, 1], [3, 2, 9], [4, 6, 5]]
print(modifierMat(mat))
                       
                       


Configuration: Windows / Edge 18.17763

2 réponses

  1. Bonjour,
    pour lire le contenu d'une matrice ou la modifier, il faut utiliser la notation avec des crochets. Dans ton cas
    matrice[i][j]
    .
    La fonction sqrt doit être utilisée avec des parenthèses à la place du point.
    if (matrice[i][j]%2==0):
        matrice[i][j]=sqrt(matrice[i][j])

    Tu devrais peut-être relire ton cours en ce qui concerne la syntaxe de python.

    De plus, il ne faut pas affecter une liste vide à la matrice au début de la fonction sinon tu supprimes ce qui a été donné en paramètre.
    Et pour finir le return doit être placer après les boucles et non pas à l'intérieur sinon la fonction va se terminer après avoir modifier la premier élément.

    Bonne journée.
    0
    1. Contributeur
      dommage, c'étaient de belles opportunités d'apprendre comment découvrir des erreurs de programmation.
      0
    2. Merci bien
      0
    3. @yg_beCe n'est pas évident de donner des conseils sans donner la solution.
      0