Thanks again for the help, A little followup.
For my applicant class I have a few initial values that need to be set
but I what to choose the value (actually the calculation to set the
value) for each applicant (instance?)
Here is the start of my Applicant Class

class Applicant(object):
      "quality is refers to the quality of the Applicant
          observe refers to the accuracy of which they assess the
quality of the school"
      def __init__(self, quality = 0, observe = 0):
              self. quality = quality
              self. observe = observe
      def Quality(self, mean, sd):
              print self,
              self.quality = normalvariate(mean, sd)
              print "--> %s" % self
     def Observe(self, mean, sd):
              print self,
              self. observe = normalvariate(mean, sd)
              print "--> %s" % self

Or I could I guess do it this way, Is this better? I will only be
setting the quality and observe values once for each instance.

class Applicant(object):
      "quality is refers to the quality of the Applicant
         observe refers to the accuracy of which they assess the
quality of the school"
      def __init__(self, mquality = 0, sdquality = 0, mobserve = 0,
sdobserve = 0):
              self. quality = normalvariate(mquality, sdquality)
              self. observe = normalvariate(mobserve, sdobserve)


Thanks
Vincent Davis
720-301-3003




On Tue, Jun 9, 2009 at 7:02 AM, Vincent Davis<vinc...@vincentdavis.net> wrote:
> 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