def f(x, y = 7):
    return x + y

def g(x,y=6,z=10):
    return (x,y,z)
    
def h(x,y,z,*args,**kwargs):
    print ("x = {0}, y = {1}, z = {2}, *args = {3}, **kwargs = {4}".format(x,y,z,args,kwargs))
    
def vsota(*args):
    return sum(args)
    
# Funkcija, ki sprejme:
# - dva pozicijska argumenta x in y
# - dva imenovana argumenta a in b (lahko manjkata)
# Rezultat: vsota x, y, a in b
def krava1(x, y, a=None, b=None):
    rezultat = x + y
    if a is not None: rezultat += a
    if b is not None: rezultat += b
    return rezultat

def krava2(x, y, **kwargs):
    rezultat = x + y
    if 'a' in kwargs: rezultat += kwargs['a']
    if 'b' in kwargs: rezultat += kwargs['b']
    return rezultat

# Vse argumente, ki so tipa int, sestej (ostale ignoriraj)
def bik1(*args):
    vsota = 0
    for x in args:
        if type(x) == int: vsota += x
    return vsota

def bik2(*args):
    return sum([x for x in args if type(x) == int])

