Question: PYTHON 3.6 Task 1 - Grade A Grade represents a specific score on a specific kind of assessment (and has its own assumedly unique name).
PYTHON 3.6
Task 1 - Grade A Grade represents a specific score on a specific kind of assessment (and has its own assumedly unique name). This is just a "container" type, used to give memorable names to individual grouped sub-values.
class Grade: Define the Grade class.
def __init__(self, kind, name, percent): Grade constructor. All three parameters must be stored to instance variables of the same names (kind, name, and percent). If kind is not one of "test", "lab", "project", or "final" (example: kind=="survey"), then raise a GradingError with the message "no Grade kind 'survey'". (You can skip this exception-raising part until later).
o kind :: str. Should be something like "lab", "test", or "project".
o name :: str. Could be something like "L1", "T2", or "P6".
o percent :: int. (I chose int to simplify the assignment, but float would have been useful).
def __str__(self): returns a human-centric string representation. If kind=="test", name=="T1", and percent==97, then the returned string must be "test:T1(97%)" (no padded zeroes).
def __repr__(self): returns a computer-centric string representation. As is often the case, we want to construct a string that could be pasted back into the interactive mode to re-create this object. Given the same example as in __str__, we need to return the string "Grade('test', 'T1', 97)". Note: we choose to always use single-quotes.
def __eq__(self, other): we want to check that two grades are equal (our self and this other grade). We compare each instance variable like so (this is the definition!)
return self.kind==other.kind and self.name==other.name and self.percent==other.percent
Tester: https://paste.ee/p/KXIQj
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
