def izvestaj_po_izdavacu(racuni): knjige = ucitaj_knjige() ispisi_knjige(knjige) izdavac = input("Unesite izdavaca: ") izvestaj = {} for racun in racuni: for sifra in racun['korpa'].keys(): for knjiga in knjige: if knjiga['sifra'] == int(sifra) and izdavac.lower( ) in knjiga['izdavac'].lower(): if sifra not in izvestaj.keys(): izvestaj[sifra] = { 'naslov': knjiga['naslov'], 'kolicina': racun['korpa'][sifra]['kolicina'], 'zarada': racun['korpa'][sifra]['cena'] } else: izvestaj[sifra]['kolicina'] += racun['korpa'][sifra][ 'kolicina'] izvestaj[sifra]['zarada'] += racun['korpa'][sifra][ 'cena'] ispisi_izvestaj(izvestaj)
def pretrazi_akcije(): print() print("-" * 20) print("1. Pretraga po sifri") print("2. Pretraga po naslovu knjige") print("3. Pretraga po autoru knjige") print("4. Pretraga po kategoriji knjige") print("-" * 20) stavka = int(input("Izaberite stavku: ")) akcije = [] knjige = ucitaj_knjige() if stavka == 1: sifra = int(input("Unesite sifru: ")) akcije = pretraga_akcija_sifra("sifra", sifra) elif stavka == 2: naslov = input("Unesite naslov: ") akcije = pretraga_akcija_string("naslov", naslov) elif stavka == 3: autor = input("Unesite autora: ") akcije = pretraga_akcija_string("autor", autor) elif stavka == 4: kategorija = input("Unesite kategoriju: ") akcije = pretraga_akcija_string("kategorija", kategorija) ispisi_akcije(akcije, knjige)
def dodaj_akciju(): akcije = ucitaj_akcije() knjige = ucitaj_knjige() maks = akcije[0]['sifra'] for akcija in akcije: if akcija['sifra'] > maks: maks = akcija['sifra'] sifra = maks + 1 ponuda = {} ispisi_knjige(knjige) datum = input('Unesite datum (dd/MM/yyyy): ') while (True): p = input('Unesite akciju (sifra :cena) [x->kraj]: ') if p == 'x': break ponuda[p.split(':')[0]] = int(p.split(':')[1]) akcije.append({ 'sifra': sifra, 'ponuda': ponuda, 'datum': datum, 'kupljena': 0 }) sacuvaj_akcije(akcije)
def dodaj_knjigu(): knjige = ucitaj_knjige() maks = knjige[0]['sifra'] for knjiga in knjige: if knjiga['sifra'] > maks: maks = knjiga['sifra'] sifra = maks + 1 naslov = input('Naslov: ') autor = input('Autor: ') isbn = input('isbn: ') izdavac = input('Izdavac: ') godina_izdanja = int(input("Godinja izdanja")) broj_strana = int(input('Broj strana: ')) cena = int(input('Cena: ')) kategorija = input('Kategorija') knjige.append({ 'sifra': sifra, 'naslov': naslov, 'autor': autor, 'isbn': isbn, 'izdavac': izdavac, 'godina_izdanja': godina_izdanja, 'broj_strana': broj_strana, 'cena': cena, 'kategorija': kategorija, 'obrisana': "False" }) sacuvaj_knjige(knjige)
def pretraga_knjiga_jednakost(kljuc, vrednost): knjige = ucitaj_knjige() pronadjene_knjige = [] for knjiga in knjige: if knjiga[kljuc] == vrednost: pronadjene_knjige.append(knjiga) return pronadjene_knjige
def pretraga_po_jednakosti(kljuc, vrednost): knjige = ucitaj_knjige() filtrirane_knjige = [] for knjiga in knjige: if knjiga[kljuc] == vrednost: filtrirane_knjige.append(knjiga) return filtrirane_knjige
def pretraga_string(kljuc, vrednost): knjige = ucitaj_knjige() filtrirane_knjige = [] for knjiga in knjige: if vrednost.lower() in knjiga[kljuc].lower(): filtrirane_knjige.append(knjiga) return filtrirane_knjige
def pretraga_knjiga_string(kljuc, vrednost): knjige = ucitaj_knjige() pronadjene_knjige = [] for knjiga in knjige: if vrednost.lower() in knjiga[kljuc].lower(): pronadjene_knjige.append(knjiga) return pronadjene_knjige
def obrisi_knjigu(): knjige = ucitaj_knjige() ispisi_knjige(knjige) sifra = int(input("Unesite sifru knjige: ")) for knjiga in knjige: if knjiga['sifra'] == sifra: knjiga['obrisana'] = "True" sacuvaj_knjige(knjige)
def sortiraj_knjige(kljuc): knjige = ucitaj_knjige() n = len(knjige) for j in range(n): for i in range(n - j - 1): if knjige[i][kljuc] > knjige[i + 1][kljuc]: temp = knjige[i] knjige[i] = knjige[i + 1] knjige[i + 1] = temp return knjige
def prikazi_akcije(): print("-" * 20) print("1. Sortiranje po sifri") print("2. Sortiranje po datumu") print("-" * 20) stavka = int(input("Izaberite stavku: ")) akcije = ucitaj_akcije() knjige = ucitaj_knjige() if stavka == 1: bubble_sort(akcije, "sifra") elif stavka == 2: bubble_sort_dt(akcije, "datum") ispisi_akcije(akcije, knjige)
def pretraga_akcija_jednakost(kljuc, vrednost): akcije = ucitaj_akcije() knjige = ucitaj_knjige() pronadjene_akcije = [] pronadjen = False for akcija in akcije: for ponuda in akcija['ponuda'].keys(): for knjiga in knjige: if knjiga['sifra'] == int( ponuda) and knjiga[kljuc] == vrednost: pronadjene_akcije.append(akcija) pronadjen = True break if pronadjen: break return pronadjene_akcije
def izvestaj_svih_knjiga(racuni): knjige = ucitaj_knjige() izvestaj = {} for racun in racuni: for sifra in racun['korpa'].keys(): for knjiga in knjige: if knjiga['sifra'] == int(sifra): if sifra not in izvestaj.keys(): izvestaj[sifra] = { 'naslov': knjiga['naslov'], 'kolicina': racun['korpa'][sifra]['kolicina'], 'zarada': racun['korpa'][sifra]['cena'] } else: izvestaj[sifra]['kolicina'] += racun['korpa'][sifra][ 'kolicina'] izvestaj[sifra]['zarada'] += racun['korpa'][sifra][ 'cena'] ispisi_izvestaj(izvestaj)
def izmeni_knjigu(): knjige = ucitaj_knjige() ispisi_knjige(knjige) sifra = int(input("Unesite sifru knjige: ")) k = None for knjiga in knjige: if knjiga['sifra'] == sifra: k = knjiga temp = input('Naslov: ') naslov = k['naslov'] if temp == "" else temp temp = input('Autor: ') autor = k['autor'] if temp == "" else temp temp = input('isbn: ') isbn = k['isbn'] if temp == "" else temp temp = input('Izdavac: ') izdavac = k['izdavac'] if temp == "" else temp temp = input("Godinja izdanja") godina_izdanja = k['godina_izdanja'] if temp == "" else int(temp) temp = input('Broj strana: ') broj_strana = k['broj_strana'] if temp == "" else int(temp) temp = input('Cena: ') cena = k['cena'] if temp == "" else int(temp) temp = input('Kategorija') kategorija = k['kategorija'] if temp == "" else temp for knjiga in knjige: if knjiga['sifra'] == sifra: knjiga['naslov'] = naslov knjiga['autor'] = autor knjiga['isbn'] = isbn knjiga['izdavac'] = izdavac knjiga['godina_izdanja'] = godina_izdanja knjiga['broj_strana'] = broj_strana knjiga['cena'] = cena knjiga['kategorija'] = kategorija sacuvaj_knjige(knjige)
def prikazi_knjige(): print("-" * 20) print("1. Sortiranje po naslovu") print("2. Sortiranje po autoru") print("3. Sortiranje po kategoriji") print("4. Sortiranje po izdavacu") print("5. Sortiranje po ceni") print("-" * 20) stavka = int(input("Izaberite stavku: ")) knjige = ucitaj_knjige() if stavka == 1: bubble_sort(knjige, "naslov") elif stavka == 2: bubble_sort(knjige, "autor") elif stavka == 3: bubble_sort(knjige, "kategorija") elif stavka == 4: bubble_sort(knjige, "izdavac") elif stavka == 5: bubble_sort(knjige, "cena") ispisi_knjige(knjige)
def izvestaj_svih_akcija(): izvestaj = {} akcije = ucitaj_akcije() knjige = ucitaj_knjige() for akcija in akcije: if akcija['kupljena'] > 0: for sifra in akcija['ponuda'].keys(): for knjiga in knjige: if knjiga['sifra'] == int(sifra): if sifra not in izvestaj.keys(): izvestaj[sifra] = { 'naslov': knjiga['naslov'], 'kolicina': akcija['kupljena'], 'zarada': akcija['ponuda'][sifra] * akcija['kupljena'] } else: izvestaj[sifra]['kolicina'] += akcija['kupljena'] izvestaj[sifra]['zarada'] += akcija['ponuda'][ sifra] * akcija['kupljena'] ispisi_izvestaj(izvestaj)
def kreiraj_izvjestaj(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def prodaj_knjige(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def logicki_brisi_knjige(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def dodaj_akcijske_ponude(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def izmijeni_knjige(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def prikazi_sve_korisnike(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def registracija(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def pretrazi_akcije(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)
def prikazi_sve_akcije(): knjige = ucitaj_knjige() for knjiga in knjige: print(knjiga)