Thanks for the help and comments, I think my questions have been
answered, I will know if I understand when I try to implement them.
The Match algorithm. algorithm is described in the link below. The
Applicant and School rankings will be (Attributes ?) of the Applicant
and School class, and I simulate this ranking process by considering
Applicants and Schools attributes, but basically similar qualities get
mutually ranked. (I go go on if someone is interested but I thought it
best to keep the discution on what I am trying to learn about classes)

http://www.nrmp.org/res_match/about_res/algorithms.html

Thanks Again
Vincent Davis




On Tue, Jun 9, 2009 at 1:12 AM, spir<denis.s...@free.fr> wrote:
> Le Mon, 8 Jun 2009 17:31:23 -0600,
> Vincent Davis <vinc...@vincentdavis.net> s'exprima ainsi:
>
>> Accidentally sent I have added the rest
>> (by the way I refrain from using the terms attribute, method,.... as I
>> will likely miss use them)
>>
>> > I am reading several tutorials about classes and trying to figure out
>> > how to apply it to my project. I have a working program that basically
>> > matches up applicants and schools. Schools and applicants have and
>> > "true" quality and an "observed" quality. Then there is an algorithm
>> > that matches them up. Right now I do this all with lists which works
>> > ok but I would like to try using classes.
>
>> > Questions
>> > 1, does it make seens to have a applicant and a schools class (based
>> > on this brief explanation)
>
> Based on your explanations, I don't really understand the problem you're 
> trying to solve, nore the algorithm. Still, probably it makes sense to use 
> Applicant and School classes for the simple reason these notions in your 
> program represent "objects": there are single, identified, things ; as 
> opposed to "values" (in the ordinary sense of the term) that represent 
> qualities or information such as color, position, number, or "true" and 
> "observed" above.
> (By the way, don't use 'true', it's too misleading. Maybe 'truth' instead.)
>
> This notion of object identity would allow you, for instance, to match an 
> applicant to a school by letting the applicant's attribute 'matched_school' 
> directly point to a school itself, instead of a number that indirectly 
> represents the school.
>
> Also, you've got a collection of schools and applicants, which probably means 
> they will be stored in a set or a list. Once you have a type for them, it's 
> easier to safely manipulate them in a unified manner. Even if they have only 
> one single data attribute, I would do it: this also brings a centralised 
> place to expose the object type's structure and behaviour.
>
>> > 2, is it possible to have a class for the algorithm that will modify
>> > values in the applicant and schools class
>> for example applicant.matched = 4 and school.matched = 343 meaning
>> applicant 343 is matched to school 4
>
> No, if I understand what you mean. You won't have a separate "class" only to 
> store actions (python is not java), but instead you should precisely 
> attribute these as methods to the Applicant or School types.
>
>> 3, is I have a value set in a class applicant.foo = 5 and I what to
>> use a (method?) in the class to change this, what is the right way to
>> do this?
>
> Below an example:
>
> ====================
> class Point(object):
>        def __init__(self, x=0,y=0):
>                self.x = x
>                self.y = y
>        def move(self, dx,dy):
>                print self,
>                self.x += dx
>                self.y += dy
>                print "--> %s" % self
>        def __str__(self):
>                return "Point (%s,%s)" % (self.x,self.y)
>
> p0 = Point() ; print p0
> p = Point(9,8) ; print p
> p.move(-11,11)
> ====================
> ==>
> ====================
> Point (0,0)
> Point (9,8)
> Point (9,8) --> Point (-2,19)
> ====================
>
> Denis
> ------
> la vita e estrany
> _______________________________________________
> Tutor maillist  -  tu...@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to