Programmation en python [Résolu]

O1 - 1 mai 2017 à 13:34 - Dernière réponse :  O1
- 8 mai 2017 à 23:43
Bonjour,


comment faire la transposée d'une matrice en python.
merci de m'aider à trouver le programme le plus efficace .
Afficher la suite 

7 réponses

Répondre au sujet
Help-Jason 1676 Messages postés mardi 28 juin 2011Date d'inscription 19 novembre 2017 Dernière intervention - 3 mai 2017 à 18:54
0
Utile
Salut,

Comment as-tu modélisé ta matrice sous Python ?
Merci d'insérer correctement ton code.
Commenter la réponse de Help-Jason
0
Utile
5
Voilà mon programme python:
>>> def transposée (A):
... for i in range len(A):
... for j in range len(A[0]):
... R=[]
... R[i][j]=R[j][i]
... return R
Help-Jason 1676 Messages postés mardi 28 juin 2011Date d'inscription 19 novembre 2017 Dernière intervention - 6 mai 2017 à 22:27
De nouveau :
Merci d'insérer correctement ton code -> http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Le soucis dans ton code, c'est que tu initialises un tableau à chaque fois que tes boucles traitent une case de ta matrice A. Il faut initialiser R avant les deux boucles.
_Ritchi_ 18199 Messages postés samedi 17 mars 2007Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - 7 mai 2017 à 08:36
Bonjour
Et l'autre souci c'est R[i][j]=R[j][i] : syntaxiquement c'est correct, mais tu ne manipules pas les vraies données, celles contenues dans A.
Ritchi
O1 > _Ritchi_ 18199 Messages postés samedi 17 mars 2007Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - 7 mai 2017 à 13:23
Comment?
Help-Jason 1676 Messages postés mardi 28 juin 2011Date d'inscription 19 novembre 2017 Dernière intervention - 8 mai 2017 à 11:36
Oui, effectivement. Si R est ton résultat, tu ne fais que des opérations sur R sans toucher à A avec R[i][j]=R[j][i].
O1 > Help-Jason 1676 Messages postés mardi 28 juin 2011Date d'inscription 19 novembre 2017 Dernière intervention - 8 mai 2017 à 23:43
>> def transposée (A):
>... R=[]
... for i in range len(A):
... for j in range len(A[0]):
... R[i][j]=A[j][i]
... return R
je pense que ça va marcher maintenant.merci
Commenter la réponse de O1