Informatika2-2015/Gyakorlat06

A MathWikiből
A lap korábbi változatát látod, amilyen Csirke (vitalap | szerkesztései) 2015. március 16., 14:23-kor történt szerkesztése után volt.

6. gyakorlat - Referenciak, Hibakezelés

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:

  1. lakoma_1
  2. lakoma_2
  3. lakoma_3
  4. lakoma_4
  5. nyeses

Az első négy feladat egymásra épül, ugyanazt a lakoma nevű függvényt 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:

lakoma_1:

def lakoma(vendegek, valtozasok):
    pass #TODO
 
################################
# Ellenorzo kod, ne modositsuk!
 
def lakoma_1(vendegek, valtozasok):
    assert lakoma(vendegek, valtozasok) == None
    return vendegek

lakoma_2:

def lakoma(vendegek, valtozasok):
    pass #TODO
 
################################
# Ellenorzo kod, ne modositsuk!
 
def lakoma_2(vendegek, valtozasok):
    ret = lakoma(vendegek, valtozasok)
    if ret != None:
        return "" + ret
    else:
        return vendegek

lakoma_3:

def lakoma(vendegek, valtozasok):
    pass #TODO
 
################################
# Ellenorzo kod, ne modositsuk!
 
def lakoma_3(vendegek, valtozasok):
    ret = lakoma(vendegek, valtozasok)
    if ret != None:
        return "" + ret
    else:
        return vendegek

lakoma_4:

def lakoma(vendegek, valtozasok):
    pass #TODO
 
################################
# Ellenorzo kod, ne modositsuk!
 
def lakoma_4(vendegek, valtozasok):
    try:
        ret = lakoma(vendegek, valtozasok)
    except Exception:
        return "Ellenor: hiba " +  sys.exc_info()[0].__name__
    if ret != None:
        return "" + ret
    else:
        return vendegek

nyeses:

def nyes(fa):
    pass #TODO
 
################################
# Ellenorzo kod, ne modositsuk!
 
def nyeses(fa):
    assert nyes(fa) == None
    return fa
Személyes eszközök