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 :

[DEB] Récupérer les valeurs d'un tableau d'instance [Python 3.X]


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 112
    Points : 98
    Points
    98
    Par défaut [DEB] Récupérer les valeurs d'un tableau d'instance
    Bonjour à tous,
    J' apprends Python dans un bouquin qui n'est pas d'une pédagogie géniale et qui n'explique pas tout très clairement.
    Voici un bout de code qui enregistre le nom d'élèves et leur note
    Le programme mets chaque instance de la classe Eleve() dans un tableau(une liste plutôt)" eleves".

    Malheureusement le livre ne dis rien sur la manière de lire la liste "eleves" et d'afficher le nom de chaque élève et sa note. Le livre passe après à un tout autre sujet.
    Lorsque l'on fait eleve[] Python renvoie vers une adresse par la phrase <__main__.Eleve object at 0x02EF05B0>


    Ma question est donc : comment lire les valeurs stockées (chaque élève) dans ce cas

    En vous remerciant de m'avoir consacré de votre temps.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Eleve: pass
    eleves=[]
    un_eleve=Eleve()
    print("Nom",len(eleves)+1,"?",end=" ")
    un_eleve.nom=input()
    while (len(un_eleve.nom)>0):
        print("Note",len(eleves)+1,"?",end=" ")
        un_eleve.note=float(input())
        eleves.append(un_eleve)
        un_eleve=Eleve()    
        print("Nom",len(eleves)+1,"?",end=" ")
        un_eleve.nom=input()
    nb_eleves=len(eleves)

  2. #2
    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,

    Citation Envoyé par torquemada Voir le message
    Ma question est donc : comment lire les valeurs stockées (chaque élève) dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for e in eleves:
         print (e.nom)
    J' apprends Python dans un bouquin qui n'est pas d'une pédagogie géniale et qui n'explique pas tout très clairement.
    L'auteur du bouquin vous propose d'utiliser:
    class Eleve: pass
    ce qui est une façon hyper simple d'utiliser les classes.
    Le seul intérêt que j'y vois c'est de vous donner une idée d'élève et de présenter les classes plus tard.
    Vous verrez alors comment y associer des méthodes. Et plus particulierement, dans le cas qui vous intéresse la méthode "spéciale" __str__ qui permet de retourner à "print" les "attributs" d'un élève sous la forme d'une chaine de caractères.

    Mais, apprendre, est un exercice de patience.

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

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 112
    Points : 98
    Points
    98
    Par défaut
    merci cela marche parfaitement et on peut effectuer des recherches par test sur cette liste. Mais pour clore le sujet j'ai une question subsidiaire


    Ici on lit toute la liste .Y a- t' il un moyen d'accéder par indice aux éléments de "eleves" .Exemple je veux l'instance numéro: de 0 à 2

    imaginons que la liste contienne au moins au moins 5 élements
    une boucle telle que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i in range(3):
        print ("i"=" ,i.nom)]
    va provoquer une erreur Eol while scanning string ltteral.
    Mais peut être que l'on ne peut pas accéder par indice

  4. #4
    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
    Les séquences sont des structures importantes.
    Ca donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for x in range(len(eleves)):
         print (eleves[x].nom))
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    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
    Citation Envoyé par torquemada Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        print ("i"=" ,i.nom)]
    va provoquer une erreur Eol while scanning string ltteral.
    ...
    Les guillemets, ça va par paire, non ?

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 112
    Points : 98
    Points
    98
    Par défaut Merci
    Merci à tous les deux

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

Discussions similaires

  1. Récupérer les valeurs de mon tableau
    Par Devilju69 dans le forum Langage
    Réponses: 5
    Dernier message: 19/11/2013, 16h57
  2. Réponses: 2
    Dernier message: 28/02/2012, 09h38
  3. Récupérer les valeurs d'un tableau
    Par fermat dans le forum Débuter
    Réponses: 3
    Dernier message: 02/02/2012, 14h17
  4. [PostgreSQL] Récupérer les valeurs d'un tableau
    Par Grotoumaigr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/01/2012, 09h37
  5. Récupérer les valeurs dans un tableau
    Par ssxjim dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 26/01/2011, 20h49

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