Informatika2-2015/Gyakorlat07
7. gyakorlat - Osztályok definiálása
Ezen a gyakorlaton az előző heti előadás anyagát dolgozzuk fel.
Feladatok
Feladatok a CloudCoder-en megtalálhatóak. Ajánlott sorrend foglalas_1-tól foglalas_6-ig számsorrendben.
Az összes feladat egymásra épül, ugyanazt a Foglalas nevű osztályt fejlesztitek egyre tovább. Ezért amikor kész az egyik feladat, érdemes átmásolni az addigi megoldásotokat a következő feladathoz. De vigyázzatok, az ellenőrző kódot ne másoljátok át, csak a megoldásotokat!
A mostani feladatok mind tartalmaznak a kódvázlatban ellenőrző kódot. Ehhez ne nyúljatok hozzá (a házi feladatnál pl. ha hozzányúltok, az hibásnak számít). Az se fontos, hogy megértsétek ami oda van írva, nem kell elolvasnotok. Ha véletlenül átírnátok, itt az eredeti kódvázlat mindegyik feladathoz:
foglalas_1:
class Foglalas(object): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_1(a, b): o = Foglalas(a, b) return o.__dict__
foglalas_2:
class Foglalas(object): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_2(a, b): return a.nem_foglalt(b)
foglalas_3:
class Foglalas(object): pass def szabad(foglalasok, osszes_ules): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_3(a, b): return szabad(a, b)
foglalas_4:
class Foglalas(object): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_4(a, b): assert a.valtoztatas(b) == None return a.__dict__
foglalas_5:
class Foglalas(object): pass def foglal(foglalasok, osszes_ules, nev, darab): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_5(a, b, c, d): ret = foglal(a, b, c, d) if ret: return ret.__dict__ return ret
foglalas_6:
class Foglalas(object): pass def foglal(foglalasok, osszes_ules, nev, darab): pass ################################ # Ellenorzo kod, ne modositsuk! def foglalas_6(a, b, c, d): try: ret = foglal(a, b, c, d) return ret.__dict__ except: return "Ellenor: hiba " + sys.exc_info()[0].__name__ + " " + str(sys.exc_info()[1].args)