[Tutor] Student Class

eryksun eryksun at gmail.com
Thu Sep 6 08:05:34 CEST 2012


On Wed, Sep 5, 2012 at 7:43 PM, Ashley Fowler
<afowler2 at broncos.uncfsu.edu> wrote:
>
> class Student:

Are you using Python 3? If not, Student should explicitly inherit from object.

>     def __init__(self, first_name, last_name, numCredits, gpa):
>         self.first_name = first_name
>         self.last_name = last_name
>         self.numCredits = numCredits
>         self.gpa = gpa

Your requirements specify firstName and lastName, not first_name and last_name.

>         def getFirstname(self):
>             return self.first_name

All of the function definitions below __init__ need to be dedented one
level. You have them defined in __init__.

>         def setFirstname(self, first_name):
>             self.first_name = first

'first' isn't defined. You named the parameter "first_name".

>         def setLastname(self, last_name):
>             self.last_name = last

Neither is 'last' defined.

>         def setNumcredits(self, numCredits):
>             self.NumCredits = credit

Neither is 'credit' defined. Plus this method creates a new attribute
named NumCredits. The name in __init__ is numCredits.

>         def __str__(self):
>             return (self.first_name, self.last_name, self.numCredits, self.gpa)

The __str__ method absolutely needs to return a string. Use string
formatting via 'format' or the old modulo formatting.

http://docs.python.org/py3k/library/string.html#format-examples
http://docs.python.org/py3k/library/stdtypes.html#old-string-formatting-operations


More information about the Tutor mailing list