IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

matrices, lignes, colonnes, transposition


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Par défaut matrices, lignes, colonnes, transposition
    bonjour à tous
    voila je bute sur un exo j'en suis pas loin
    je dois faire ceci
    soit M = [] ;
    codez, à partir de M, la construction de la matrice [[1, 2, 3], [4, 5, 6]] ;
    généralisez pour n'importe quelle matrice de n lignes par m colonnes

    j'ai réussi à faire ce bout de code mais il me deux fois la meme liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> M = []
    >>> for x in range(2) :
    ...  L = []
    ...  for y in range (1,4) : L = L + [y] 
    ...  M += [L]
    ... 
    >>> M
    [[1, 2, 3], [1, 2, 3]]
    merci de m'aider

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 719
    Par défaut
    Salut,
    S'il affiche deux fois la même liste, c'est qu'à chaque passage
    la construction de la liste: for y in range (1,4) : L = L + [y]
    ne prend pas en compte la dernière valeur du passage précédent.

    On pourrait donc l'écrire:
    for y in range (1,4) : L = L + [y + YP],
    ou commencer par YP
    for y in range (YP, 4) : L = L + [y]
    Il vous reste à définir l'initialisation et la mise à jour de YP.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Le mieux est d'utiliser des classes pour représenter les matrices.
    Voici un exemple de classe de matrices à coefficients rationnels:
    http://gilles.dubois10.free.fr/algeb...e/evaldet.html
    Il n'y a pas grand chose à changer pour en faire une classe de matrices à coefficients dans un type prédéfini.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 719
    Par défaut
    Si on doit traiter cela avec de l'artillerie lourde Numpy
    Mais comme tu as l'air bien au courant des programmes de math de seconde, tu as sans doute raison.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonsoir,


    Quel est le sens de la question ? :
    - tu ne comprends pas pourquoi la même liste est enregistrée deux fois dans M ?
    - ou bien tu comprends pourquoi, mais ne sais pas trouver l’algorithme correct ?

    Je veux éviter de te balancer un code tout fait. Je te propose de regarder ce que donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    L = range(1,4)
    print L
    À moins que tu sois en Python 3.x, auquel cas il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    L = list(range(1,4))
    print L

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Par défaut
    je comprends pourquoi il me met deux fois la meme liste
    c'est la traduction de l'algo qui me pose probleme

    soit NBL le nombre de lignes souhaité
    soit NBC le nombre de colonnes souhaité
    soit M une liste vide
    pour x variant de 1 à NBL
    soit L une liste vide
    pour n variant de 1 à NBC
    ajoute un élément E à L
    ajoute L à M

    la variable E qui me pose probleme qui correspond à YP dit par wiztricks
    je dois arriver à exprimer E en fonction du n° du tour
    ca doit etre facile mais j'arrive plus

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 196
    Par défaut
    ah oui je suis version 2.6 de python

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/02/2014, 14h21
  2. [11gR2] Transposition lignes / colonnes
    Par tropiko dans le forum Oracle
    Réponses: 2
    Dernier message: 06/02/2014, 15h26
  3. Renvoyer nom ligne/colonne suivant valeurs matrice
    Par Stepsbysteps dans le forum R
    Réponses: 5
    Dernier message: 25/03/2013, 15h23
  4. Transformer une matrice colonne en matrice ligne
    Par Leanaa dans le forum Bibliothèques tierces
    Réponses: 19
    Dernier message: 05/07/2012, 17h11
  5. Réponses: 8
    Dernier message: 20/03/2012, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo