def sv_sold(Z,s): ''' Functie ce calculeaza soldul contului la o data specificata input : Z - o zi, s - lista tranzactiilor iutput : S - soldul contului la o data specificata ''' if lenght(s)==0: return 'Lista este goala!' S=0 for tz in s: if get_zi(tz)<=Z: if get_tip(tz)=='intrare': S+=get_suma(tz) elif get_tip(tz)=='iesire': S-=get_suma(tz) return S
def sv_tz_tip_ord(T,s): ''' Functie ce tipareste toate tranzactiile de un anumit tip, ordonate dupa suma input : T - un tip, s - lista tranzactiilor output : s3 - lista tranzactiilor de un anumit tip ''' if lenght(s)==0: return 'Lista este goala!' s2=s.copy() for i in range(0,lenght(s2)-1,1): for j in range(i+1,lenght(s2),1): if get_suma(s2[i])>get_suma(s2[j]): s2[i],s2[j]=s2[j],s2[i] s3=create_state() for tz in s2: if get_tip(tz)==T: add_tz(s3, tz) return s3
def sum_gr8_than(S,tz): ''' Functia preia o tranzactie si o compara cu suma data input - S : suma cu care trebuie comparata tranzactia, tz : o tranzactie output - True : daca tz[suma] e mai mare decat suma/False : daac tz[suma] e mai mica decat suma ''' if S<get_suma(tz): return True else: return False
def sv_el_tz_small_and_type(S,T,s): ''' Functie ce elimina toate tranzactiile de tipul : T mai mici decat suma : S din lista : s input : T - up tip, S - o suma, s - lista tranzactiilor output : el_list : lista dupa eliminari ''' s2=create_state() for tz in s: if tz_anumit_tip(tz,T)==False or get_suma(tz)>=S: add_tz(s2,tz) return s2
def sv_sum_tip(T,s): ''' Functie ce calculeaza suma tranzactiilor de un anumit tip input : T - un tip, s - lista de tranzactii output : S - Suma tranzactiilor de un anumit tip ''' if lenght(s)==0: return 'Lista este goala!' S=0 for tz in s: if tz_anumit_tip(tz, T)==True: S+=get_suma(tz) return S
def b4_day_gr8_than(S,Z,tz): ''' Functia preia o tranzactie si o compara cu o suma data si o zi data input - S : suma cu care trebuie comparata tranzactia, Z : ziua cu care trebuie comparata tranzactia, tz : o tranzactie output - True : daca ziua este mai mare decat ziua tranzactiei si suma este mai mica decat suma tranzactiei False : daca una dintre cele doua conditii de la True este falsa ''' #if sum_gr8_than(S,tz)==True: if S<get_suma(tz): if Z>get_zi(tz): return True else: return False else: return False
def test_create_tz(): tz = create_tz(1, 100.50, 'intrare') assert (get_zi(tz) == 1) assert (get_suma(tz) == 100.50) assert (get_tip(tz) == 'intrare')