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_course
lisää annetun nimisen kurssinadd_requisite
lisää esitietovaatimuksenfind_order
etsii 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