Tehtäväsi on toteuttaa luokka, jossa voi määritellä kursseja ja niiden välisiä esitietovaatimuksia sekä etsiä tavan suorittaa kurssit vaatimusten mukaisessa järjestyksessä.
Jos mahdollisia suoritustapoja on useita, mikä tahansa niistä hyväksytään.
Voit olettaa, että kursseja on enintään ja luokan metodeita kutsutaan enintään kertaa. Jokaisen kurssin nimi on merkkijono, jossa on enintään merkkiä.
Toteuta tiedostoon courseplan.py
luokka CoursePlan
, jossa on seuraavat metodit:
- konstruktori
add_course
lisää annetun nimisen kurssinadd_requisite
lisää esitietovaatimuksenfind
etsii jonkin tavan suorittaa kurssit ja palauttaa järjestyksen listana (jos mitään tapaa ei ole, metodi palauttaaNone
)
class CoursePlan: def __init__(self): # TODO def add_course(self,course): # TODO def add_requisite(self,course1,course2): # TODO def find(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()) # [Ohpe,Jym,Ohja,Tira] c.add_requisite("Tira","Tira") print(c.find()) # None