Tehtäväsi on toteuttaa luokka, jossa voi määritellä kurssien välisiä esitietovaatimuksia sekä etsiä tavan suorittaa kurssit vaatimusten mukaisessa järjestyksessä.
Toteuta luokka CoursePlan, jossa on seuraavat metodit:
add_courselisää annetun nimisen kurssinadd_requisitelisää esitietovaatimuksenfind_orderetsii jonkin tavan suorittaa kurssit ja palauttaa järjestyksen listana (jos mitään tapaa ei ole, metodi palauttaaNone)
Toteuta luokka tiedostoon courseplan.py seuraavan esimerkin mukaisesti.
class CoursePlan:
def __init__(self):
# TODO
def add_course(self, course):
# TODO
def add_requisite(self, course1, course2):
# TODO
def find_order(self):
# TODO
if __name__ == "__main__":
c = CoursePlan()
c.add_course("Ohpe")
c.add_course("Ohja")
c.add_course("Tira")
c.add_course("Jym")
c.add_requisite("Ohpe", "Ohja")
c.add_requisite("Ohja", "Tira")
c.add_requisite("Jym", "Tira")
print(c.find_order()) # esim. [Ohpe, Jym, Ohja, Tira]
c.add_requisite("Tira", "Tira")
print(c.find_order()) # None
