Créer une classe "matrices"
Résolu/Fermé
Phil_1857
Messages postés
1771
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
23 septembre 2023
-
14 avril 2021 à 11:52
Phil_1857 Messages postés 1771 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 23 septembre 2023 - 14 avril 2021 à 16:36
Phil_1857 Messages postés 1771 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 23 septembre 2023 - 14 avril 2021 à 16:36
A voir également:
- Créer une classe "matrices"
- Créer une adresse mail - Guide
- Créer un compte google - Guide
- Créer une liste déroulante excel - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram - Guide
2 réponses
yg_be
Messages postés
21796
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 septembre 2023
1 379
14 avril 2021 à 13:03
14 avril 2021 à 13:03
bonjour,
je me demande si ce n'est pas plutôt un problème de logique.
je ne sais pas trop ce que tu veux obtenir avec ta fonction rotations(), je ne l'ai donc pas testée.
j'ai essayé une fonction plus simple, qui ajoute 1 à tous les éléments de la matrice, et cela me semble bien se comporter.
je me demande si ce n'est pas plutôt un problème de logique.
je ne sais pas trop ce que tu veux obtenir avec ta fonction rotations(), je ne l'ai donc pas testée.
j'ai essayé une fonction plus simple, qui ajoute 1 à tous les éléments de la matrice, et cela me semble bien se comporter.
def matinc(self): for l in range(self.ln): for c in range(self.cn): self[l][c] += 1
Phil_1857
Messages postés
1771
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
23 septembre 2023
169
Modifié le 14 avril 2021 à 14:20
Modifié le 14 avril 2021 à 14:20
Bonjour et merci à tous les deux,
je me doutais un peu que c'était un problème de portée de variable, mais je ne voyais pas
comment traiter ça
Ca fonctionne parfaitement maintenant

A Mamiemando : oui, je connais numpy, je ne l'ai pas installé, mais bon, je m'amuse, ca me fait un exercice, et j'aime bien avoir le contrôle total :-)
je me doutais un peu que c'était un problème de portée de variable, mais je ne voyais pas
comment traiter ça
Ca fonctionne parfaitement maintenant
A Mamiemando : oui, je connais numpy, je ne l'ai pas installé, mais bon, je m'amuse, ca me fait un exercice, et j'aime bien avoir le contrôle total :-)
mamiemando
Messages postés
32651
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 septembre 2023
7 658
14 avril 2021 à 16:03
14 avril 2021 à 16:03
Parfait, c'est effectivement un bon exercice. Je bascule ton sujet en résolu :-)
Phil_1857
Messages postés
1771
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
23 septembre 2023
169
>
mamiemando
Messages postés
32651
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 septembre 2023
14 avril 2021 à 16:36
14 avril 2021 à 16:36
Bah, je pouvais le faire moi-même ...
le temps de tondre ma pelouse :-)
le temps de tondre ma pelouse :-)
14 avril 2021 à 13:15
Modifié le 14 avril 2021 à 13:30
En fait c'est plus une erreur de pointeurs que de programmation objet.
Ton erreur est de vouloir écraser (qui est une recopie de l'adresse mémoire de l'objet courant) par , donc cela ne modifie pas l'objet pointé initialement par .
La solution qu'yg_be propose marcherait dans la mesure où n'est pas modifié, et en corrigeant tu corriges bien ce qu'il faut.
Par contre tu n'as même pas besoin de "payer" un . Comme est une adresse, il suffit de la corriger par l'adresse de la liste que tu as calculée :
Hors sujet mais au cas où : généralement pour du calcul matriciel on aura plutôt tendance à utiliser .
Bonne chance
14 avril 2021 à 13:31
la ligne 72 modifie la variable locale self, pas le contenu de mat.
tu as deux possibilités, au lieu de :
1) copier le contenu de mat3 dans self, avec une boucle (ou une fonction copymat).
2) faire , et, en ligne 79: