Créer une classe "matrices"
Résolu/Fermé
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
-
14 avril 2021 à 11:52
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 14 avril 2021 à 16:36
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 14 avril 2021 à 16:36
A voir également:
- Créer une classe "matrices"
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer une liste déroulante excel - Guide
- Créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
2 réponses
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
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
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
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
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
7 748
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
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
>
mamiemando
Messages postés
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
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: