Calculadora de Parley [parte 3]


La siguiente entrada la estoy creando debido a que voy a subir mi código a Github y de verdad me di cuenta que el código de la calculadora que había hecho no es nada funcional, es por esto que he creado un código mas funcional, ojo que no quería entrar mas al tema pero me toco, por que no puedo colocar un código en GitHub tan poco funcional….

La calculadora la cambie totalmente le agregue 3 bucles para que haga lo que debe hacer, quizá hay una forma mejor de hacerla mas compacta pero mi cerebro en 30 minutos pensando como hacerla hasta hay fue que me dio, lo mas fácil, funcional y educativo fue el código que les traigo hoy…

Aqui esta la calculadora antigua:


monto = int(input("escriba monto a jugar: \n"))
log1=log2=log3=log4=log5=log6=log7=log8=0
log1 = int(input("escriba el primer logro: \n"))
log2 = int(input("escriba el segundo logro: \n"))
log3 = int(input("escriba el tercer logro: \n"))
log4 = int(input("escriba el cuarto logro: \n"))
log5 = int(input("escriba el quinto logro: \n"))
log6 = int(input("escriba el sexto logro: \n"))
log7 = int(input("escriba el septimo logro: \n"))
log8 = int(input("escriba el octavo logro: \n"))
logros=[log1,log2,log3,log4,log5,log6,log7,log8]
num=[]
cantidad_de_logros = len(logros)
i = 0
for i in range(0,cantidad_de_logros):
  if logros[i]<= 0:
    LOG=(1+(logros[i]/100.0000))
    num.append(LOG)
  else:
    logros[i]= logros[i]*(-1)
    LOG=(1+(100.0000/logros[i]))
    num.append(LOG)
  i+=1
premio=monto*(num[0])*(num[1])*(num[2])*(num[3])*(num[4])*(num[5])*(num[6])*(num[7])
print premio

Bueno esta calculadora la hice con un fin de probar los conocimientos de listas y algunas condiciones, ahora vamos a mejorarlo con un par de ciclos, esta es la nueva:


logros=[]
monto = int(input("escriba monto a jugar: \n"))

while True:  ### Bloque 1 ###
    print ''
    log = raw_input("Escriba el pago del logro: \n")
    if  (len (log) > 1):
        logro = int(log)
        logros.append(logro)
        
    else:
        break

    
num=[]
cantidad = len(logros)

print "Cantidad de Logros", cantidad
i = 0

for i in range(0,cantidad): ### Bloque 2 ###
    if logros[i]>= 0:
      LOG=(1+(logros[i]/100.0000))
      num.append(LOG)
    else:
      logros[i]= logros[i]*(-1)
      LOG=(1+(100.0000/logros[i]))
      num.append(LOG)
    i+=1
    
cantidad11 = len(num)

print "Lista de logros ",num
i =  0
multiplo_logro = 1
for i in range(0,(cantidad11)): ### Bloque 3 ###
    multiplo_logro = multiplo_logro*(num[i])
    print multiplo_logro
premio = monto * multiplo_logro
print premio

No me voy a detener mucho en la lógica solo decir por que de cada bloque;

Bloque 1:


logros=[]
monto = int(input("escriba monto a jugar: \n"))

while True:  ### Bloque 1 ###
    print ''
    log = raw_input("Escriba el pago del logro: \n")
    if  (len (log) > 1):
        logro = int(log)
        logros.append(logro)
        print logro
        
    else:
        break

    

El bucle While lo agregue luego del monto, es decir si monto va bien corre, si monto no es entero falla, si no se coloca nada falla, si se coloca negativo el premio es negativo jajaja, solo recordar este código que me parece muy educativo por sus métodos matemáticos aplicado con python son fascinantes 😀

El while se ejecuta siempre que todo este bien antes, luego se manda a una lista cada logro ingresado.

for i in range(0,cantidad): ### Bloque 2 ###
    if logros[i]>= 0:
      LOG=(1+(logros[i]/100.0000))
      num.append(LOG)
    else:
      logros[i]= logros[i]*(-1)
      LOG=(1+(100.0000/logros[i]))
      num.append(LOG)
    i+=1

Este bucle lo construí con for, ya que se va a repetir la cantidad de logros que se hayan agregado anteriormente, ademas es necesario cambiar del sistema de logros a un valor real de cuanto paga el juego es decir a cuota europea… no recuerdo como era que se llamaban :D, eso es lo que hacen los condicionales


for i in range(0,(cantidad11)): ### Bloque 3 ###
    multiplo_logro = multiplo_logro*(num[i])
    print multiplo_logro
premio = monto * multiplo_logro
print premio

Al final tuve que agregar este for, aunque pude agregar cada múltiplo en el for anterior, nada mas que decir en la siguiente entrada daré a conocer el nombre de mi GITHUB, dios les bendiga

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s