zy: change graderules from object to function
zy: change printer from object to function
zy: add two printers for comparasion
zy: change printer from object to function
Merge branch commit amend printer obj to func
zy: change getMyGradesOfPractices return value
zy: refactor getMyGradeOfCourse return value
zy: fix the error caused by copy obj