Pb d'accès aux données d'un objet
Bonjour,
J'ai un problème lié à ce code (petit prototype d'un programme de gestion de notes)
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| #!/usr/bin/python
# -*- coding: iso-8859-1 -*-
# ------------------- carnet de notes --------------------------#
import Tkinter
class note:
"definition d'un objet note comportant 3 données : le coef / le resultat / le trimestre "
def __init__(self, c =0, r =0, t =1):
self.coef=c
self.resultat=r
self.trimestre=t
def definit(self):
"fixe les données de la note en cours"
print " Coef ?"
self.coef= input()
print " resultat ?"
self.resultat= input()
print " Trimestre ?"
self.trimestre = input()
def affiche_note(self):
print str(self.coef) + "," + str(self.resultat) + "," + str(self.trimestre)
class serie_note(note):
"definition d'une série comme liste de notes d'un élève"
def __init__(self,ln=[]):
note.__init__(self,c=0,r=0,t=1)
self.liste_note=ln
def ajoute(self):
self.definit()
self.liste_note.append(note)
def affiche(self):
print str(self.coef)
print self.liste_note.coef #ne fonctionne pas comme prévu
class eleve(serie_note):
"definition d'un objet eleve comme une liste de note + un nom "
def __init__(self,n='nobody'):
serie_note.__init__(self)
self.nom=n
def nommer(self):
print "Nom de l'élève ?"
self.nom=raw_input()
def affiche_eleve(self):
print "Voici l'élève et ses notes"
print str(self.nom)
#note.affiche_note(self)
serie_note.affiche(self)
#-------------- Test de la classe *note* -------------------#
bidule = note()
bidule.coef=2
bidule.resultat=14
bidule.trimestre=2
bidule.affiche_note()
#--------------------- fin du test classe *note* ----------#
#--------------------- Test de la classe *Eleve* et "serie_note"------------#
First=eleve()
First.nommer()
#First.coef=2
#First.resultat=14
#First.trimestre=2
First.ajoute()
First.ajoute()
First.affiche_eleve()
#------------------- fin du test# classe ------------# |
Dans la classe "serie_note" (qui a comme attribut" une liste contenant des objets notes) je n'arrive pas à imprimer à l'écran la liste contenu dans l'objet (pardon, l'instance de classe) . Comment faire pour accèder au contenu de cette liste. Cela doit êter trivial mais comme je n'ai fait essentiellement que du procédural à part pour les IHM et quelques scripts en POO simples en python jusque là, j'avoue que j'ai du mal sur ce petit bout de code.
Je peux le faire en procédural bien sûr mais je préférerais passer tout en objets pour ce petit logiciel.
Merci.