connect sql with this code class DiplomaProgram: def __init__(self): self.listCourse = set() def addCourse(self, course): self.listCourse.add(course) def removeCourse(self, course): self.listCourse.remove(course) def listPassedStudent(self): listStudent = set() for course in self.listCourse: for student in course.listStudent: if student not in listStudent and student.isPassed(): student.printInfo() listStudent.add(student) def listDistinctStudent(self): listStudent = set() for course in self.listCourse: for student in course.listStudent: if student not in listStudent and student.isDistinct(): student.printInfo() listStudent.add(student) class Course: id = 1 def __init__(self,
connect sql with this code
class DiplomaProgram:
def __init__(self):
self.listCourse = set()
def addCourse(self, course):
self.listCourse.add(course)
def removeCourse(self, course):
self.listCourse.remove(course)
def listPassedStudent(self):
listStudent = set()
for course in self.listCourse:
for student in course.listStudent:
if student not in listStudent and student.isPassed():
student.printInfo()
listStudent.add(student)
def listDistinctStudent(self):
listStudent = set()
for course in self.listCourse:
for student in course.listStudent:
if student not in listStudent and student.isDistinct():
student.printInfo()
listStudent.add(student)
class Course:
id = 1
def __init__(self, name, assignments):
self.name = name
self.id = Course.id
Course.id += 1
self.listStudent = set()
self.assignments = assignments
def addStudent(self, students):
self.listStudent.update(students)
for student in students:
student.courses.add(self)
for assignment in self.assignments:
student.assignments[assignment] = None
def removeStudent(self, students):
for student in students:
self.listStudent.remove(student)
for assignment in self.assignments:
student.assignments.pop(assignment)
def passStudent(self, student, assignments):
for assignment in assignments:
student.assignments[assignment] = True
def failStudent(self, student, assignments):
for assignment in assignments:
student.assignments[assignment] = False
class Student:
id = 1
def __init__(self, name):
self.id = Student.id
Student.id += 1
self.name = name
self.courses = set()
self.assignments = dict()
def infoCourses(self):
return ', '.join([c.name for c in self.courses])
def infoAssignments(self):
return ', '.join(self.assignments)
def isPassed(self):
for course in self.courses:
passed = 0
for assignment in course.assignments:
if self.assignments[assignment] == True:
passed += 1
if passed < 2:
return False
return True
def isDistinct(self):
if self.isPassed():
passed = 0
for assignment in self.assignments.keys():
if self.assignments[assignment] == True:
passed += 1
if passed >= 10:
return True
else:
return False
def printInfo(self):
print("ID: %d, Name: %s\nCourses signed for: %s\nAssignment status: %s"%(self.id, self.name, self.infoCourses(), self.assignments))
def main():
#instantiate a diploma program object
dp = DiplomaProgram()
#create 4 courses
c1 = Course("Business in a Global Context", {"asg1", "asg2", "asg3"})
c2 = Course("Strategy and Decision Making", {"asg4", "asg5", "asg6"})
c3 = Course("Strategy Implementation", {"asg7", "asg8", "asg9"})
c4 = Course("Risk Management", {"asg10", "asg11", "asg12"})
#create students
s1 = Student("Adam Cole")
s2 = Student("Lewis Joe")
#add students to courses
c1.addStudent([s1, s2])
c2.addStudent([s1, s2])
c3.addStudent([s1, s2])
c4.addStudent([s1, s2])
#add courses to diploma program
dp.addCourse(c1)
dp.addCourse(c2)
dp.addCourse(c3)
dp.addCourse(c4)
#grading students
c1.passStudent(s1, ["asg1", "asg2"])
c1.failStudent(s1, ["asg3"])
c2.passStudent(s1, ["asg4", "asg6"])
c2.failStudent(s1, ["asg5"])
c3.passStudent(s1, ["asg7", "asg8", "asg9"])
c4.passStudent(s1, ["asg11", "asg12"])
c4.failStudent(s1, ["asg10"])
c1.passStudent(s2, ["asg1", "asg2"])
c1.failStudent(s2, ["asg3"])
c2.passStudent(s2, ["asg4", "asg5", "asg6"])
c3.passStudent(s2, ["asg7", "asg8", "asg9"])
c4.passStudent(s2, ["asg10", "asg11", "asg12"])
#show Passed students status
print("Passed students:")
dp.listPassedStudent()
#show Distinct students status
print("Distinct students:")
dp.listDistinctStudent()
if __name__ == '__main__':
main()
Step by step
Solved in 2 steps