# Naloga 1
def blagajna(s):
    return len(s) and max(s[:i].count("+") - s[:i].count("-") for i in range(len(s)))

# Druga varianta - razmisli, kako izracuna stevilo plusov in zakaj deluje!
def blagajna(s):
    return len(s) and max(i - 2 * s[:i].count("-") for i in range(len(s)))

# Naloga 2
def kockarji(s, n):
    return max((sum(m == 6 for m in s[i::n]), i) for i in range(n))[1] + 1

# Naloga 3
def enaka(s, t):
    return not s and not t or s and t and s[0] == t[0] and enaka(s[1:], t[1:])

# Naloga 4
def vsi_deli(skatla, potrebno):
    return all(stvar in skatla and skatla[stvar] >= kolicina for stvar, kolicina in potrebno.items())

def kaj_manjka(skatla, potrebno):
    return {stvar: kolicina - skatla.get(stvar, 0) for stvar, kolicina in potrebno.items() if kolicina - skatla.get(stvar, 0) > 0}
Zadnja sprememba: torek, 11. junij 2013, 18.14