### Naloga 1
def cas_v_sekunde(s):
    h, m, s = s.split(":")
    return 3600*int(h ) + 60*int(m) + int(s)
def sekunde_v_cas(s):
    return "%02i:%02i:%02i" % (s/3600, s%3600/60, s%60)
def razlika_casov(s1, s2):
    return sekunde_v_cas(cas_v_sekunde(s2) - cas_v_sekunde(s1))
### Naloga 2
def naj_prileg(s, sub):
    najpos = najuj = -1
    for pos in range(len(s)-len(sub)+1):
        uj = 0
        for c1, c2 in zip(s[pos:], sub):
            if c1 == c2:
                uj += 1
        if uj > najuj:
            najpos, najuj = pos, uj
    return najpos, najuj, s[najpos:najpos+len(sub)]
### Naloga 3
def beri_skupine(fname):
    users = {}
    for line in file(fname):
        group_name, password, group_id, group_list = line.strip().split(":")
        for user in group_list.split(","):
            if not user in users:
                users[user] = [group_name]
            else:
                users[user].append(group_name)
    return users
### Naloga 4
import re
re_ident = re.compile("[A-Za-z_]\w*")
keywords = ["and", "del", "from", "not", "while", "as", "elif", "global", "or", "with", "assert", "else", "if",
            "pass", "yield", "break",  "except", "import", "print", "class", "exec", "in", "raise", "continue",
            "finally", "is", "return", "def", "for", "lambda", "try"]
def imena(fname):
    spremenljivke = set()
    for line in file(fname):
        line = line.strip().split("#")[0]
        spremenljivke.update(re_ident.findall(line))
    return sorted(spremenljivke.difference(keywords))
### Naloga 5
def najvec_n(l, n):
    nl = []
    for e in l:
        if nl.count(e) < n:
            nl.append(e)
    return nl