2

#PlatziCodingChallenge - ¿Qué pasaría sí?

https://platzi.com/comunidad/platzicodingchallenge-memory-part4-y-cuanto-vas-a-ahorrar-2/

Siguiendo con el reto anterior de ¿Cuanto vas a ahorrar?:

Ahora quiero que le agregues a tu programa de interés compuesto la capacidad de variar el valor inicial de tu ahorro

Escribe tu comentario
+ 2
Ordenar por:
1
19943Puntos

¿Que pasaría sí? en JavaScript y en Python (como muchos mi función ya tenia la capacidad de variar el valor inicial (capital) del ahorro)

// ¿Qué pasaría sí? en JavaScriptfunctionfinalAmount(capital, time, rate) {
    return capital * Math.pow(1 + rate, time) //C = c(1 + r)^t
}

// Pedido de datosconst capital = parseFloat(prompt('¿Cuánto vas a ahorrar en este mes?'))
const tiempo = parseInt(prompt('¿Por cuantos meses?'))
const interes = parseFloat(prompt('¿Cuanto es el interes mensual (0 - 100%)'))/100
alert(`En ${tiempo} mes(es) vas a ahorrar $${finalAmount(capital, tiempo, interes).toFixed(2)}`)
# ¿Qué pasaría sí? en PythondeffinalAmount(capital, time, rate):return capital * (1 + rate)**time # C = c(1 + r)^t# Pedido de datos
capital = float(input('¿Cuánto vas a ahorrar en este mes?: '))
tiempo = int(input('¿Por cuantos meses?: '))
interes = float(input('¿Cuanto es el interes mensual (0 - 100%): '))/100
print('En {} mes(es) vas a tener ${}'.format(tiempo, round(finalAmount(capital, tiempo, interes), 2)))
1
7689Puntos

Ya lo había hecho:

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Ahorros en otros periodos</title></head><style>
  * {
    margin: 0;
  }

  .contenedor {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
  }

  .section {
    padding: 2rem;
  }

  .inputs {
    display: inherit;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .btn {
    border: 2px solid black;
    border-radius: 6px;
    cursor: pointer;
    height: 50%;
  }

  #newFrase {
    padding: 020px;
    text-align: justify;
  }
</style><body><divclass="contenedor"><h1>Ingresa el monto que vas a Ahorrar con una tasa de 4% a tu favor</h1><divclass="inputs"><divstyle="display: flex; flex-direction: row; justify-content: center; align-items: center;"><sectionclass="section">
          Monto: <inputid="monto"/></section><buttononclick="calcular()"class="btn">Calcular...</button></div><h4style="margin-bottom: 16px;">Cuantos meses deseas ahorrar? <inputid='meses'></input></h4><h4>Tendrías un ahorro de $ <spanid='ahorro'></span></h4></div></div><script>functioncalcular(){
      let monto = parseFloat(document.getElementById('monto').value)
      const meses = parseInt(document.getElementById('meses').value)
      const ahorro = document.getElementById('ahorro')
      for (let i = 1; i <= meses; i++){
        monto = monto + (monto*0.04)
      }
      ahorro.innerHTML = monto.toFixed(2)
    }
  </script></body></html>```
1
7689Puntos
7 meses

Perdón, sería este:

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Cuanto vas a Ahorrar?</title></head><style>
  * {
    margin: 0;
  }

  .contenedor {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
  }

  .section {
    padding: 2rem;
  }

  .inputs {
    display: inherit;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .btn {
    border: 2px solid black;
    border-radius: 6px;
    cursor: pointer;
    height: 50%;
  }

  #newFrase {
    padding: 020px;
    text-align: justify;
  }
</style><body><divclass="contenedor"><h1>Ingresa el monto que vas a Ahorrar con una tasa de 4% a tu favor</h1><divclass="inputs"><divstyle="display: flex; flex-direction: row; justify-content: center; align-items: center;"><sectionclass="section">
          Monto: <inputid="monto"/></section><buttononclick="calcular()"class="btn">Calcular...</button></div><h4>En 6 meses tendrás un total de ahorro de $ <spanid='seisMeses'></span></h4><h4>En 1 año tendrás un total de ahorro de $ <spanid='unAño'></span></h4><h4>En 2 años tendrás un total de ahorro de $ <spanid='dosAños'></span></h4></div></div><script>functioncalcular(){
      let monto = parseFloat(document.getElementById('monto').value)
      const seisMeses = document.getElementById('seisMeses')
      const unAño = document.getElementById('unAño')
      const dosAños = document.getElementById('dosAños')

      for (let i = 1; i <= 24; i++){
        monto = monto + (monto*0.04)
        switch(i){
          case6:
            seisMeses.innerHTML = monto.toFixed(2)
            break;
          case12:
            unAño.innerHTML = monto.toFixed(2)
            break;
          case24:
            dosAños.innerHTML = monto.toFixed(2)
            break;
        }
      }
    }
  </script></body></html>```
1
26494Puntos

Así lo había hecho originalmente. 😄

definteres(monto, meses):
    monto_con_intereses = monto
    for _ in range(meses):        
        interes = monto_con_intereses * 0.04
        monto_con_intereses += interes  

    monto_con_intereses = round(monto_con_intereses, 2)

    return monto_con_intereses


defrun():
    continuar = Truewhile continuar:
        ahorro_inicial = float(input('\n¿Con qué cantidad iniciarás tus ahorros?: '))
        meses = int(input('¿Por cuántos meses ahorrarás tu dinero?: '))
        ahorro_con_intereses  = interes(ahorro_inicial, meses)
        print(f"""\nAl comenzar a ahorrar ${ahorro_inicial} hoy tendrás en:
        {meses} meses: ${ahorro_con_intereses}
        """)

        seguir = input('¿Desea agregar otra cantidad de ahorro inicial? (S/N) ')
        seguir = seguir.lower()
        if seguir == 'n':
            continuar = Falseif __name__ == "__main__":
    run()
0
12398Puntos

Hecho en Python:

i = 4defrun():whileTrue:
    print('')
    print('Conoce el importe de tu ahorro')
    op = input('''
        Escoge una opción:
        [1] A seis meses
        [2] A un año.
        [3] A dos años
        [x] Salir
        ''')
    
    if op == '1':
      tiempo = 6
      CO = int(input('Cuanto deseas ahorrar: '))
      calculo_de_ahorro(tiempo,CO)

    elif op == '2':
      tiempo = 12
      CO = int(input('Cuanto deseas ahorrar: '))
      calculo_de_ahorro(tiempo,CO)
    
    elif op == '3':
      tiempo = 24
      CO = int(input('Cuanto deseas ahorrar: '))
      calculo_de_ahorro(tiempo,CO)
    
    elif op == 'x':
      breakelse:
      print('Opción no válida')


defcalculo_de_ahorro(tiempo,CO):
  I_ganado =  round( (CO * ( (pow(1 + (i/100), tiempo) ) - 1)),2 )
  
  print('')
  print(' -- RESUMEN DE ESTADO -- ')
  print('Importe ahorrado (USD): {} '. format(CO))
  print('Interés ganado (USD): {}'. format(I_ganado))
  print('Total ganado (USD): {}'. format(CO + I_ganado))
  print('Periodo de ahorro: {} meses'. format(tiempo))


if __name__ == '__main__':
  run()```