# -*- coding: utf-8 -*-
"""
Created on Thu May 28 14:09:53 2026

@author: student
"""


def produkt(nazwa, cena, **kwargs):
    ciag = 'Produkt: '+ nazwa + ' : '+ str(cena) + 'pln '
    for klucz, wartosc in kwargs.items():
        ciag += klucz + ' : ' + str(wartosc)
    return ciag

p = produkt('ser', 3)
print('wywolanie 1: ',p)

p = produkt('ser', 3, typ='mozzarella')
print('wywolanie 2: ',p)

p = produkt(nazwa = 'ser', cena = 3)
print('wywolanie 3: ',p)

p = produkt(cena = 3, nazwa='ser')
print('wywolanie 4: ',p)

s = {'nazwa':'ser', 'cena':3}
p = produkt(**s)
print('wywolanie 5: ',p)

s = {'typ':'plesniowy'}
p = produkt(cena = 3, nazwa='ser', **s)
print('wywolanie 6: ',p)

s = {'typ':'plesniowy', 'cena':3, 'nazwa':'ser'}
p = produkt(**s)
print('wywolanie 7: ',p)

#zly 
'''
s = {'typ':'plesniowy', 'cena':3, 'nazwa':'ser'}
p = produkt(**s, **s)
print('wywolanie 8: ',p)
'''

s1 = {'typ':'plesniowy', 'cena':3}
s2 = {'nazwa':'ser'}
p = produkt(**s1, **s2)
print('wywolanie 9: ',p)







#zad 5 AI

def srednia_wazona(*args):
    suma_wazona = 0
    suma_wag = 0

    for waga, wartosc in args:
        suma_wazona += waga * wartosc
        suma_wag += waga

    if suma_wag == 0:
        raise ValueError("Suma wag nie może być równa 0")

    return suma_wazona / suma_wag



# wywołanie 1
s = srednia_wazona((2, 10), (3, 20))
print('wywołanie 1:', s)

# wywołanie 2
s = srednia_wazona((1, 5), (1, 15), (2, 30))
print('wywołanie 2:', s)

# wywołanie 3
dane = [(2, 50), (3, 100)]
s = srednia_wazona(*dane)
print('wywołanie 3:', s)

# wywołanie 4
a = (4, 10)
b = (1, 40)
s = srednia_wazona(a, b)
print('wywołanie 4:', s)

# wywołanie 5
krotka1 = (2, 3)
krotka2 = (5, 8)
krotka3 = (1, 20)
s = srednia_wazona(krotka1, krotka2, krotka3)
print('wywołanie 5:', s)

# wywołanie 6
lista = [(1, 100), (2, 200), (3, 300)]
s = srednia_wazona(*lista)
print('wywołanie 6:', s)

# wywołanie 7
x = {'args': [(2, 10), (2, 30)]}
s = srednia_wazona(*x['args'])
print('wywołanie 7:', s)
        