-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGrading System.py
More file actions
41 lines (39 loc) · 1.22 KB
/
Copy pathGrading System.py
File metadata and controls
41 lines (39 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Grading System:
class Course:
def __init__(self, name='', credits=0, grade=0):
self.name=name
self.credits=credits
self.grade=grade
def __str__(self):
return 'Name: {}\nCredits: {}\nGrade: {}'.format(self.name, self.credits, self.grade)
class Student:
def __init__(self, name='', number=0):
self.name=name
self.number=number
self.cl=[]
def __str__(self):
return '{} ({})'.format(self.name, self.number)
def addCourse(self, c=Course()):
self.cl.append(c)
def coursesByName(self):
self.cl.sort(key=lambda x:x.name)
for i in self.cl:
print(i)
print()
def coursesByCredits(self):
self.cl.sort(key=lambda x: x.name)
self.cl.sort(key=lambda x: x.credits, reverse = True)
for i in self.cl:
print(i)
print()
def coursesByGrade(self):
self.cl.sort(key=lambda x: x.name)
self.cl.sort(key=lambda x: x.grade, reverse = True)
for i in self.cl:
print(i)
print()
def credits(self):
cr=0
for i in self.cl:
cr+=int(i.credits)
return cr