Program kasa fiskalna

0

Cześć 
Mam do stworzenia program działający na zasadzie kasy fiskalnej.
Tzn. mam ustalone stawki vat, na podstawie symbolu (a-0,23/b-0,08/c-0,05/d-0,00)- kasa bierze pod uwagę stawkę Vat. - zdefiniowane jest to jako słownik tzn, symbol jest kluczem a wartością jest stawka Vat.
I teraz mam, że 'Program powinien operowac na liscie zakupów w formie listy krotek czteroelementowych:
(nazwa towaru, ilość, jednostkowa cena brutto, symbol),
gdzie nazwa towaru jest tekstem, ilość może być zarówno liczbą naturalną (oznaczającą liczbę sztuk)  jak  i  wagą/objętością  (podawaną  z  dokładnością  do  3  cyfr  po  przecinku),  jednostkowa cena brutto jest liczbą zmiennoprzecinkową, a symbol jest jedną z liter “A”, “B”, “C”, “D”.
oraz, że Zaktualizować liste zakupów (można stworzyć nową), tak by zawierała tylko JEDNA krotkę dla każdego towaru (ilości towarów z krotek dla tego samego produktu powinny zostać zsumowane). 
Na przykład, jeżeli lista zakupów zawiera dwie pozycje:
(‘Bulka’, 3, 0.60, “C”) i (‘Bulka’, 4, 0.60, “C”),to powinny one zostać zastąpione jedną 
(‘Bulka ’, 7, 0.60,“C”)
no i ostateczne działanie programu ma być sprawdzone na tym przykładzie
lista_zakupow=[('Mleko św 3.2 1l',3,2.19,"C"),('Woda mineralna',6,1.69,"A"),('Kakao 400g',2,8.55,"A"),('Mleko św 3.2 1l',1,2.19,"C"),('Mleko św 3.2 1l',2,2.19,"C"),('Cieszynskie Psz',1,4.99,"A"),('Ser krolewski',1,4.69,"C"),('Banan Luz',1.042,4.85,"C"),('Ogórek szkl',0.551,6.99,"C"),('Musli',1,7.99,"C"),('Torba',2,0.49,"A"),('Musli',1,7.99,"C"),('Utopijna mrzonka',1,6.66,"D")]
W jaki sposób mogę to zrobić, wiem, że muszę użyć produktowania, ale niestety nie wiem w jaki sposób. Jak powinna wyglądać ta lista krotek? Czy te krotki 'z góry' powinny zostać stworzone? I potem powinny zostać zmienione na listę? Ale czy wtedy to nie jest bez sensu np. gdy chce kupić banany, które mogą ważyć 1.042kg a w krotce były z wagą 1kg? I jak sprawić żeby program sam 'wiedział' że dany produkt się powtarza? Za dużo pojawia mi się filozoficznych pytań co do tego zadania i nie potrafię dojść do najważniejszych rzeczy. Gdyby ktoś był w stanie mi to w miarę prosto wyjaśnić było by super. 
0
Nie jest to nic trudnego, wystarczy ze stworzysz słownik który jako klucze będzie przyjmował nazwy produktów np. "Instrukcja jak zakładać poprawnie wątki na forum", albo "Książka 'Trudno czytać tekst który trzeba przewijać'", a jako wartości: krotkę reszty ważnych informacji (ilosc, cena, vat). Jeśli trafi się ten sam produkt to aktualizujesz w słowniku jego ilość, na końcu wystarczy że połączysz klucze z ich wartościami w jedną krotkę i będziesz miał wynik
0

nie robisz nic "na sztywno"

Deklarujesz słownik
idziesz po krotkach w liście zakupów
    jeśli "nazwa_produktu" nie jest w słowniku:
        dodajesz nowy klucz będący "nazwa_produktu" a jego wartość to reszta informacji o tym produkcie (ilość, cena, VAT)
    w przeciwnym wypadku:
        do wartości dla klucza "nazwa_produktu" dodajesz ilość aktualnie przeglądanego produktu
deklarujesz listę
idziesz po kluczach w słowniku:
    dodajesz do listy krotkę (klucz, ilość, cena, VAT)

1 użytkowników online, w tym zalogowanych: 0, gości: 1