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
¿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)))
Lo había hecho ya, se puede cambiar el valor de la variable initialMoney que después se pasa como parámetro a la función o que este parámetro sea la cantidad que se requiera (sin asignarlo previamente a la variable).
https://github.com/ceporro/PlatziCodingChallenge/tree/master/Day 22-24
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>```
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>```
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()
Reto 22: ¿Cuánto vas a ahorrar? v2
Repositorio del reto: PlatziCodingChallengeRepo
GitHub pages: PlatziCodingChallengePages
function calcular(amount, tax, month) { let total = amount; tax = Number.parseFloat(1 + (tax / 100));for (let i = 0; i < month; i++) { total = Number.parseFloat(total * tax); } return total.toFixed(2); }
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()```