Le Mon, 20 Apr 2009 07:59:15 +0100,
"Alan Gauld" <alan.ga...@btinternet.com> s'exprima ainsi:

> So I'd change the structure to be like this(pseudo code)
> 
> students = dict()  # empty dict
> for line in gradesfile:
>     line = line.split(',')
>     s = Student()
>     s.id = line[0]
>     s.lastname = line[1]
>     etc....
>     s.hwtotal = sum(hw)
>     etc....
>     students[s.id] = s

If a student type is created, then it's worth having a readDataLine() method 
(whatever its name) to feed it:

students = dict()  # empty dict
for line in gradestable:        # not a file, but data read from it
    line = line.split(',')
    student = Student()
    student.readDataLine(line)
    id = line[0]
    students[id] = student

[Actually, you wouldn't even need splitting the line before passing it, except 
here its also a practicle way to extract the id to use it as dict key.]

If ever this is the standard, or even only, way to feed a student object with 
data, then the data-line-reading method may be __init__ itself. So that the 
loop becomes:

for line in gradestable:
    line = line.split(',')
    student = Student(line)
    id = line[0]
    students[id] = student

Denis
------
la vita e estrany
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to