def filtrare_oferte_luna(dictionar, luna_introdusa): """Functia filtreaza pachetele si introduce intr-o lista indicii ofertelor ce nu presupun zile dintr-o anumita luna Date de intrare: dictionar(dict), luna_introdusa(int) Date de iesire: keys(list) """ keys = [] for key in dictionar: if str(get_luna_inceput(dictionar, key)) != str(luna_introdusa) and str(get_luna_sfarsit(dictionar, key)) != str(luna_introdusa): keys.append(key) return keys
def cauta_pachete_data(dictionar, zi, luna, an): """Cautarea numerelor de ordine ale pachetelor de calatorie cu o anumita data de sfarsit Date de intare: dictionar(dict), zi(int), luna(int), an(int) Date de iesire: keys(lista ce contine numerele de ordine ale pachetelor ce respecta cerinta) """ gasit = False keys = [] #Stocam intr o lista numerele pachetelor ce respecta cerinta, pentru a putea testa functia for key in dictionar: if int(get_zi_sfarsit(dictionar, key)) == zi and int(get_luna_sfarsit(dictionar, key)) == luna and int(get_an_sfarsit(dictionar, key)) == an: gasit = True keys.append(key) return keys
def tiparire_pachete(dictionar, lista): """Functia tipareste pachetele cu o anumita proprietate din dictionarul principal Date de intrare: dictionar(dict), lista (lista - contine numele pachetelor ce trebuiesc tiparite) Date de iesire: - """ if lista == []: tiparire_mesaj_negativ for i in lista: print("Pachetul numarul", i) print(get_zi_inceput(dictionar, i), "/", get_luna_inceput(dictionar, i), "/", get_an_inceput(dictionar, i)) print(get_zi_sfarsit(dictionar, i), "/", get_luna_sfarsit(dictionar, i), "/", get_an_sfarsit(dictionar, i)) print(get_destinatie(dictionar, i)) print(get_pret(dictionar, i)) print('\n')
def cauta_pachet_interval(dictionar, zi1, luna1, an1, zi2, luna2, an2): """Cautarea numerelor de ordine ale pachetelor de calatorie ce au data intr-un anumit interval Date de intare: dictionar(dict), zi1(int), luna1(int), an1(int), zi2(int), luna2(int), an2(int) Date de iesire: keys(lista ce contine numerele de ordine ale pachetelor ce respecta cerinta) """ keys = [] for key in dictionar: if verifica_la_dreapta(zi1, luna1, an1, int(get_zi_inceput(dictionar, key)), int(get_luna_inceput(dictionar, key)), int(get_an_inceput(dictionar, key))) and verifica_la_stanga(zi2, luna2, an2, int(get_zi_sfarsit(dictionar, key)), int(get_luna_sfarsit(dictionar, key)), int(get_an_sfarsit(dictionar, key))): keys.append(key) return keys
def cauta_pachet_durata(dictionar, nr_zile): """Functia cauta pachetele cu o durata mai scurta decat "nr_zile" si returneaza o lista cu numerele de ordine a acestor pachete Date de intrare: dictionar(dict), nr_zile(str) Date de iesire: keys(list)""" keys = [] for key in dictionar: if diferenta_date(int(get_zi_inceput(dictionar, key)), int(get_luna_inceput(dictionar, key)), int(get_an_inceput(dictionar, key)), int(get_zi_sfarsit(dictionar, key)), int(get_luna_sfarsit(dictionar, key)), int(get_an_sfarsit(dictionar, key))) < nr_zile: keys.append(key) return keys