Signaler

Programmation en python [Résolu]

Posez votre question O1 - Dernière réponse le 8 mai 2017 à 23:43 par O1
Bonjour,


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

Comment as-tu modélisé ta matrice sous Python ?
Merci d'insérer correctement ton code.
Donnez votre avis
Utile
+0
plus moins
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 1210Messages postés mardi 28 juin 2011Date d'inscription 18 juin 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.
Répondre
_Ritchi_ 17376Messages postés samedi 17 mars 2007Date d'inscription ContributeurStatut 28 juin 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
Répondre
Help-Jason 1210Messages postés mardi 28 juin 2011Date d'inscription 18 juin 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].
Répondre
O1- 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
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !