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 :

Probleme pour acceder au atrribu du classe.


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Probleme pour acceder au atrribu du classe.
    Bonjour,
    j'essaie de construire une liste tridimensionnelle composée de la classe "neurone"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    vn = 10 # nombre neurpne
    vs = 10 # nb synapse
    vp = 255 # poids
    vs1 = 255 # seuil
     
    class neurone :
     
      entree_z = [[0]for x in range(vs)]
      entree_y = [[0]for x in range(vs)]
      entree_x = [[0]for x in range(vs)]
      entree_v = [[0]for x in range(vs)]
     
      poid = [0]*vs
      seuil = int()
      sortie = int()
     
     
    #fonctionne	
    l0=[neurone()]*10
    print l0[0].seuil
    print"---"
     
    #ne fonctionne pas
    l1=[[[[neurone()] for z in range (vn)] for y in range (vn)] for x in range (vn)]
    print l1[0][0][0].seuil
    0
    ---
    Traceback (most recent call last):
    File "neurone1.py", line 23, in <module>
    print l1[0][0][0].seuil
    AttributeError: 'list' object has no attribute 'seuil'

    Si vous avez une explication elle est la bienvenue.
    cordialement,
    Sofian.

  2. #2
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    pour obtenir ton une liste tridimensionnelle, rectifier la valeur l1 par l1=[[[neurone()] for z in range (vn)] for y in range (vn)], sinon print l1[0][0][0][0].seuil

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Bonsoir. Ta déclaration est bidimensionnelle il me semble. Et ton acces se fait sur 4 indice ! Fautes de frappe...
    Si quelqu'un a une solution ?
    Merci.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Non mamsflex ne se trompe pas, il te manque bien un indice.

    Ceci est bon l1[0][0][0][0]

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    mamsflex vous a tout dit de façon très concise:
    Pour obtenir ton une liste tridimensionnelle, rectifier la valeur l1 par l1=[[[neurone()] for z in range (vn)] for y in range (vn)], sinon print l1[0][0][0][0].seuil
    Il dit juste que si vous voulez une liste tridimensionnelle, il faut la construire autrement car telle que vous l'avez construite: elle a 4 dimensions d’où le (sinon print...).
    A vous de clarifier pourquoi vous appelez "tridimensionnel" un truc a 4 indices.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. probleme pour créer mon diagramme de classe
    Par karamokooo dans le forum Diagrammes de Classes
    Réponses: 0
    Dernier message: 22/02/2010, 11h34
  2. Réponses: 1
    Dernier message: 17/02/2009, 20h28
  3. Réponses: 5
    Dernier message: 18/10/2007, 16h09
  4. Problème pour accéder à mon Linux
    Par anouss212 dans le forum Mandriva / Mageia
    Réponses: 3
    Dernier message: 11/11/2006, 22h01
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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