PYTHON Y CALCULO DE CUOTAS

edgar scav ariscavuzzo2 en yahoo.com.ar
Sab Jun 28 01:40:13 CEST 2008


calculo de cuotas.
por ejemplo sea cuotas(30000,50,0,6,8.5,4) te da las cuotas;
ARGUMENTOS
1)30000 es el monto
2)50 es cuanto queres que aumente que puede ser 0 o negativo 3)0 es que es desde primeros dias del mes el pago o cobro
4)6 cant de cuotas no en total sino cada cuantas aumenta o baja
5)7.5 la tasa de interes mensual
6)el 4 la cantidad de años que puede ser con decimales o en fraccion pero que encaje bien con lo de la cantidad de cuotas . no encaja bien si son 4 años y de a 7 cuotas ya que 48 cuotas o meses dividido 7 cuotas no da redondo da casi 7. pero se puede poner como cantidad de años 49/12.

Los valores actuales de las cuotas suman esos 30000.
en el archivo esta indentado( que aca con previsualizar no aparece). haces copiar y pegar y lo usas.

ALGUNAS COSAS LAS PODIA HABER HECHO MAS FACIL.
cuotas(20000,50,0,12,1.74,4) ESTA ESTRUCTURADA CON LAS ANTERIORES.

---------

def a(x,n,i):
 x=x+0.0
 n=n+0.0
 i=i+0.0
 i=i/100
 v=(1+i)**(-1)
 w=(1-v**n)
 e=(1-v)
 w=w/e
 r=v**x
 r=r*w
#2000*a(0,7,7)=11533.08
#2000*a(1,6,7)+2000=11533.08
# 567.66*a(0,24,1.74)+667.66*a(24,24,1.74)=casi 20000
 return r



def redond(n):
 from math import modf
 if modf(n)[0]>=0.5:
       nn=modf(n)[1]+1
 else:
       nn=modf(n)[1]
 return nn



def pagoArit(monto,desde,cantidad,interes,incremento):
  m=monto
  q=desde
  n=cantidad
  i=interes
  r=incremento
  i=i/100.0
  v=(1+i)**(-1)
  v1=(1-v**n)
  v2=(1-v)
  v3=v1/v2
  w=v*v3
  qw=(1+i)
  qw=qw**(1-q)
  w=w*qw
  w1=(r/i)*(w-n*v**n)
  w2=(m-w1)/w
  j=1
  while j<(n+1):
   print 'NÃ?MERO DE CUOTA:',j,'VALOR CUOTA:',w2+(r*(j-1))
   j=j+1



def pagoGeom(monto,desde0o1,cantidad,interes,razon):
  va=monto
  i=interes
  i=i/100.0
  q=razon
  q=q-1
  n=cantidad
  qq=((1+q)/(1+i))**n-1
  w=q-i
  qq=qq/w
  e=va/qq
  c=e
  ade=desde0o1
  if ade ==0:
    a23=(1+i)**(-1.0)
  else:
   a23=1
  c=c*a23
  j=1
  while j<(n+1):
   print 'NUMERO CUOTA',j,'CUOTA',c*((1+q)**(j-1))
   j=j+1



pagoArit(20000,0,48,1.74,5)
pagoGeom(20000,0,48,1.74,1.05)
m=20000
i=1.74
a0=a(0,24,i)
a24=a(24,24,i)
c=(m-100*a24)/(a0+a24)
c #me dio 567.65891684428686 asi que 667.65891....

c=(m-(k*a12+2*k*a24+3*k*a36))/(a0+a12+a24+a36)
c #me dio bien 545.23726939442236 con el â??buscar destinoâ??

def pagoAritGeom(monto,desde,cantidad,interes,razon,aritOgeom_1_o_2):
 a=aritOgeom_1_o_2
 if a==1:
  j=pagoArit(monto,desde,cantidad,interes,razon)
 else:
  j=pagoGeom(monto,desde,cantidad,interes,razon)

pagoAritGeom(20000,0,48,1.74,1.01,2)

c=(m-(k*a12+2*k*a24+3*k*a36))/(a0+a12+a24+a36)
def cuotas(monto,incremento,desde,de_a,i,anios):
  anios=anios+0.0
  m=monto
  k=incremento
  j=0
  h=0
  fr=anios*12/de_a
  while h<fr-1:
   j=j+(h+1)*k*a(desde+de_a*(h+1),de_a,i)
   h=h+1
  num=m-j
  j0=0
  h0=0
  while h0<fr:
   j0=j0+a(desde+de_a*h0,de_a,i)
   h0=h0+1
  den=j0
  qwe=num/den
  q=qwe
  sd=0
  df=0
  while sd<fr:
   print de_a,' CUOTAS DE ',(redond((q+k*sd)*100))/100
   sd=sd+1
  return q


pagoArit(20000,0,48,1.74,5)
pagoGeom(20000,0,48,1.74,1.05)
cuotas(20000,50,0,12,1.74,4)



----------


      ____________________________________________________________________________________
¡Buscá desde tu celular!

Yahoo! oneSEARCH ahora está en Claro

http://ar.mobile.yahoo.com/onesearch
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es