2

#PlatziCodingChallenge - Memory (part4) y ¿Cuánto vas a ahorrar?

20. Memory (part4)!

Crea el código para evaluar si el orden del usuario fue el mismo mostrado por el programa y decirle si ganó o en caso contrario si perdió

21. ¿Cuánto vas a ahorrar?

"El interés compuesto te sirve para generar más dinero gracias a los intereses que generas, es decir, hace que el valor que se paga por intereses se vaya aumentando mes a mes, por que el dinero sobre el cuál se hace el cálculo del interés se incrementa cada vez que se liquidan los respectivos intereses que ganaste el mes previo.
Crea una calculadora que te diga cuánto vas a tener en 6 meses, 1 año y 2 años al ahorrar 100 dólares con una tasa de interés a tu favor del 4%

Escribe tu comentario
+ 2
Ordenar por:
2
7689Puntos

No sabía que el reto 20 era lo de ganar o perder, ya lo había hecho 😅

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

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

  .section {
    padding: 0.25rem2rem;
  }

  .inputs {
    display: inherit;
    align-items: center;
    padding: 2rem;
  } 

  #resultado {
    font-size: 24px;
  }

  .escondido {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50%;
  }

  .pantalla {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 50%;
  }
  
  .pantallah2 {
    margin-top: 45px;
    width: 80%;
    font-size: 35px;
    border-radius: 10px;
    background-color: lightblue;
    display: flex;
    align-items: center;
    padding-left: 15px;
    justify-content: center;
  }

  .pad {
    border-radius: 15px;
    background-color: rgb(88, 88, 88);
    display: grid;
    width: 80%;
    height: 50%;
    grid-template-columns: 10%16%16%16%16%16%10%;
    grid-template-rows: 5%45%45%5% ;
    grid-template-areas: 
      ". . . . . . ."". quotes hash dollar perc clear ."". par1 par2 slash something equal ."". . . . . . ."
      ;
  }

  #quotes {
    grid-area: quotes;
  }
  #hash {
    grid-area: hash;
  }
  #dollar {
    grid-area: dollar;
  }
  #perc {
    grid-area: perc;
  }
  #par1 {
    grid-area: par1;
  }
  #par2 {
    grid-area: par2;
  }
  #slash {
    grid-area: slash;
  }
  #something {
    grid-area: something;
  }
  #clear {
    grid-area: clear;
  }
  #equal {
    grid-area: equal;
  }

  .btn {
    background-color: gray;
    padding: 15px;
    margin: 8px;
    border-radius: 15px;
    outline: none;
    font-size: 24px;
    border: none;
    color: white;
    text-align: center;
  }

  .btn:hover {
    cursor: pointer;
    transform: scale(1.1);
  }

  #contra {
    padding: 020px;
    width: 95%;
  }
</style><bodyid='body'><divclass="contenedor"><h1id='titulo'style="margin-bottom: 24px;">Click para mostrar 4 caracteres entre "#$%()/& de forma aleatoria</h1><buttononclick="escribe()"class="btn"id='btn'>Click</button><buttonstyle="display: none;"onclick="continuar()"class="btn"id='btn-continuar'>Continuar...</button><buttonstyle="display: none;"onclick="repetir()"class="btn"id='btn-reiniciar'>Reiniciar...</button><divstyle="margin-top: 24px;"id="resultado"></div><divid='escondido'class='escondido'style="display: none;"><divclass="pantalla"><h2cols="18"row="1"id="valores"></h2></div><divclass="pad"><inputclass="btn"type="button"value='"'id="quotes"><inputclass="btn"type="button"value="#"id="hash"><inputclass="btn"type="button"value="$"id="dollar"><inputclass="btn"type="button"value="%"id="perc"><inputclass="btn"type="button"value="("id="par1"><inputclass="btn"type="button"value=")"id="par2"><inputclass="btn"type="button"value="/"id="slash"><inputclass="btn"type="button"value="&"id="something"><inputclass="btn"type="button"value="◀"id="clear"><inputclass="btn"type="button"value="="id="equal"></div></div></div><script>const alt = []
    functionescribe() {
      const boton = document.getElementById('btn')
      const botonContinuar = document.getElementById('btn-continuar')
      const array = ['34', '35', '36', '37', '38', '40', '41', '47'] 
      for (let i = 0; i < 4; i++){
        let num = Math.floor(Math.random()*8)
        alt[i] = array[num]
      }
      let resultado = ''
      alt.map(charcode => resultado = resultado + String.fromCharCode(charcode))
      document.getElementById('resultado').innerHTML = `Salió ${resultado} de forma aleatoria`
      boton.style = "display: none;"
      botonContinuar.style = "display: inline-block;"
    }
    functioncontinuar () {
      const botonContinuar = document.getElementById('btn-continuar')
      botonContinuar.style = "display: none;"const botonReiniciar = document.getElementById('btn-reiniciar')
      const titulo = document.getElementById('titulo')
      titulo.innerHTML = 'Escoja el orden que aparecio previamente...'const resultado = document.getElementById('resultado')
      resultado.innerHTML = ''const escondido = document.getElementById('escondido')
      escondido.style = 'display: flex'const pantalla = document.getElementById('valores')

      const quotes = document.getElementById('quotes')
      const hash = document.getElementById('hash')
      const dollar = document.getElementById('dollar')
      const perc = document.getElementById('perc')
      const par1 = document.getElementById('par1')
      const par2 = document.getElementById('par2')
      const slash = document.getElementById('slash')
      const something = document.getElementById('something')
      const clear = document.getElementById('clear')
      const equal = document.getElementById('equal')
      
      let cant = 4

      quotes.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '"'
        }
      }
      hash.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '#'
        }
      }
      dollar.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '$'
        }
      }
      perc.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '%'
        }
      }
      par1.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '('
        }
      }
      par2.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + ')'
        }
      }
      slash.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '/'
        }
      }
      something.onclick = () => {
        if (pantalla.innerHTML.length < cant){
          pantalla.innerHTML = pantalla.innerHTML + '&'
          cant = cant + 4
        }
      }
      clear.onclick = () => {
        const array = pantalla.innerHTML.replace(/amp;/g, '').split('')
        const borrar = array.pop()
        if (borrar === '&'){
          cant = cant - 4
        }
        pantalla.innerHTML = array.join('')
      }
      equal.onclick = () => {
        cant = 4let respuesta = pantalla.innerHTML.replace(/amp;/g, '').split('')
        let charRes = []
        respuesta.map( char => {
          charRes.push(char.charCodeAt(0))
        })
        for (let i = 0; i < alt.length; i++){
          alt[i] = parseInt(alt[i])
        }
        if (alt[0] === charRes[0] && alt[1] === charRes[1] && alt[2] === charRes[2] && alt[3] === charRes[3]){
          escondido.style = 'display: none;'
          titulo.innerHTML = 'Felicidades! tu respuesta es correcta, si era igual a la solución'
          botonReiniciar.style = 'display: inline-block'
        } else {
          escondido.style = 'display: none;'
          titulo.innerHTML = 'Lastima! tu respuesta es incorrecta, no es igual a la solución'
          botonReiniciar.style = 'display: inline-block'
        }
      }
    }
    functionrepetir() {
      const boton = document.getElementById('btn')
      boton.style = 'display: inline-block;'const botonReiniciar = document.getElementById('btn-reiniciar')
      botonReiniciar.style = 'display: none;'const titulo = document.getElementById('titulo')
      titulo.innerHTML = 'Click para mostrar 4 caracteres entre "#$%()/& de forma aleatoria'const pantalla = document.getElementById('valores')
      pantalla.innerHTML = ''
    }
  </script></body></html>
2
26494Puntos
7 meses

Yo también me adelante. 😅😅😅

1

En Python Memory part 4 😃

import random
caracteres=['"','#','$','%','(',')','/','&']
mensaje='''Tenemos los siguientes caracteres 
            1-->"
            2-->#
            3-->$
            4-->%
            5-->(
            6-->)
            7-->/
            8-->& '''
seleccion=[]
for s in range(4):
    print(mensaje)
    elegido=int(input('Elige un numero: '))
    elegido=elegido-1
    elegi=caracteres[elegido]
    seleccion.append(elegi)
seleccion=''.join(seleccion)
print(f'Los caracteres elegidos por usted son: {seleccion}')  

nuevo=[]
cont=0for i in range(4):
    cont=cont+1
    aleatorio=random.choice(caracteres)
    print(f'En la posicion {cont} se tiene el caracter: {aleatorio}')
    nuevo.append(aleatorio)
    caracteres.remove(aleatorio)
nuevo=''.join(nuevo)
print(f'Y los caracteres elegidos aleatoriamente son: {nuevo}')

if seleccion==nuevo:
    print('Acertaste con el mismo orden de la CPU eres un gran adivinador!!!')
else:
    print('Lo siento Piensas distinto, Sigue adelante')```
1
<code>
```#include <stdio.h>int main()
{
	intmes, i;
	float total_ahorro;
	total_ahorro = 100;
	printf("Ingrese el numero del mes que quiere conocer: ");
	scanf("%d", &mes);while(i++<mes)	
		total_ahorro +=  ( total_ahorro * 4) / 100;
		
	printf("\nSu saldo es de: %.2f",total_ahorro);return0;
}
1
  1. ¿Cuánto vas a ahorrar? en Python 😃
menu='''CALCULADORA DE INTERES COMPUESTO INGRESA 
        EL MONTO DE CAPITAL INICIAL EN BOLIVIANOS Bs
        Y LA TASA DE INTERES EN PORCENTAJE EJ: "4"QUE SERA 4%'''
print(menu)
capital=int(input('Ingresa tu mont enBs: '))
interes=int(input('Ingresa tu interes: '))
meses=25
for mes inrange(meses):
    ganancia=capital*((1+interes/100)**mes)
    ganancia=round(ganancia, 2)
    if mes==6:
        print(f'Tu ganancia a {mes} meses para un capital de {capital} Bs a un interes de {interes}% es de {ganancia} Bs')
    elif mes==12:
        print(f'Tu ganancia a {int(mes/12)} año para un capital de {capital} Bs a un interes de {interes}% es de {ganancia} Bs')
    elif mes ==24:
        print(f'Tu ganancia a {int(mes/12)} años para un capital de {capital} Bs a un interes de {interes}% es de {ganancia} Bs')
    else:
        pass```
1

JavaScript
Dia 20.1

functionmemory(numbers) {
    var result           = '';
    var characters       = '"#$%()/&';
    var charactersNumbers = characters.length;
    for ( var i = 0; i < numbers; i++ ) {
       result += characters.charAt(Math.floor(Math.random() * charactersNumbers));
    }
    
    registro = ''
    arr = Array.from(result)
    for(i = 0; i < result.length; i++) {
       registro += `
       ${i} = ${arr[i]}
        `
    }
    return result
 }

 functionorder(parameter) {
    var menu = memory(parameter)
    varlist = prompt(`
                Caracteres:
                ${menu}
                Ingresa en orden los caracteres mostrados:
                    `)
    if(menu === list) {
        alert('Correct')
    } else {
        alert('Wrong')
    }
}

order(4)```
1
7689Puntos

Respuesta del reto 21 y me puse al día al fin c:

<!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

En Pyhton:
20. Memory (part4)!

""" Programa que muestra de forma aleatoria 4 caracteres entre los siguientes: "#$%()/& y lleva un registro del orden en el que aparecieron los caracteres y da al usuario un menú para que elija en el orden correcto los caracteres y evalua si el orden del usuario fue el mismo mostrado por el programa informando si ganó o perdió.
Program that randomly displays 4charactersamongthe following: "#$%()/& and keep record of the order in which the characters appeared and gives to user a menu to choose the characters in the right order and evaluates if the user order was the same as the shown by the program, informing if he won or lost. """

import randomif __name__ == "__main__":
    print('Memory part 2!!!')
    chars = ['"','#','$','%','(',')','/','&']
    random_chars = []
    order_chars = []
    print('Your 4 random characters are:')
    for i in range(1,5):
        random_char = random.choice(chars)
        random_chars.append(random_char)
        order_chars.append(str(chars.index(random_char)+1))
        print('Random character {}: {}' .format(i, random_char))
    input('Enter any key to continue... ')
    forcharinchars:
        ifchars.index(char) % 2 ==0:
            print('{}-> {}   {}-> {}' .format(chars.index(char)+1, char, chars.index(char)+2, chars[chars.index(char)+1]))
    user_order = input('Please insert in order the 4 digits correspondent to the random characters numbers: ')
    random_order = ''.join(order_chars)
    if user_order == random_order:
        print('Congratulations you remembered the order!!! {} = {}' .format(''.join(random_chars), random_order))  
    else: 
        print('Game Over, you didn\'t remember the order!!! {} = {}' .format(''.join(random_chars), random_order))
1
13595Puntos

Asumí que el reto 20 era parte de lo que se pedía en el 19 así que lo incluí en en anterior, bueno aquí esta mi solución al reto 21 en JS:

functioncalculateSavings(amount){
    
    for (let i = 1; i <= 24; i++) {
        amount *= 1.04;
        if (i === 6 || i === 12 || i === 24) {
            amount = amount.toFixed(2);
            console.log(`Months: ${i} \nTotalSavings: ${amount} \n`);
        }
    }
}

calculateSavings(100);
1
19943Puntos

Memory en JavaScript:

//Memory en JavaScriptclassMemory{
    constructor() {
        this.chars = ['"', '#', '$', '%', '(', ')', '/', '&'] //8 caracteresthis.numberChars = 4this.part1() //Muestra 4 caracteres entre los siguientes de forma aleatoria: "#$%()/&this.part2() //Lleva un registro del Orden en el que aparecieron los caracteresthis.part3() //Dale al usuario un menú para que elija en el orden correcto los caracteresthis.part4() //Evaluar si el orden del usuario fue el mismo mostrado por el programa y decirle si ganó o en caso contrario si perdió
    }
    part1() {
        this.charsList = []
        for (let i = 0; i < this.numberChars; i++) {
            let randomChar
            do {
                randomChar = this.chars[Math.floor(Math.random() * this.chars.length)]
            } while (this.charsList.includes(randomChar))
            this.charsList.push(randomChar)
        }
    }
    part2() {
        let message = (
            `Caracteres aleatorios:
            1. ${this.charsList[0]} 
            2. ${this.charsList[1]} 
            3. ${this.charsList[2]} 
            4. ${this.charsList[3]} 
            Acuérdate del orden`
        )
        alert(message)
    }
    part3() {
        let answer
        do {
            let message = (
                `Lista de caracteres:
                0. ${this.chars[0]}     1. ${this.chars[1]}
                2. ${this.chars[2]}     3. ${this.chars[3]}
                4. ${this.chars[4]}     5. ${this.chars[5]}
                6. ${this.chars[6]}     7. ${this.chars[7]}
                Introduce los números correspondientes al orden de los caracteres anteriores
                Ejemplo: #$%( = 1234`
            )
            answer = prompt(message).split('')
            if (answer.length != this.numberChars) alert('Debes ingresar 4 números. Intenta otra vez')
        } while (answer.length != this.numberChars)
        this.answerChars = answer.map(number => this.chars[number])
    }
    part4() {
        if (this.answerChars.toString() === this.charsList.toString()) {
            alert('Felicidades, escribiste el orden correcto')
        } else {
            alert('Lo siento, ese no es el orden correcto')
        }
    }
}

//Inicia el juegowindow.memory = new Memory()
1
19943Puntos

¿Cuánto vas a ahorrar? en JavaScript y en Python:

//¿Cuánto vas a ahorrar? 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)}`)
#¿Cuánto vas a ahorrar? 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
6327Puntos

Memory V4 en Java ☕️ ☕️ 😃

public class MemoryV4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] allowedCharacters = "\"#$%()/&".toCharArray();
        StringBuffer cadena = new StringBuffer();
        SecureRandom random = new SecureRandom();
        ArrayList<String> arrayOrden = new ArrayList<>();int salir = 0;
        String cadenaUsuario;while (salir != 1) {
            for (int i = 0; i < 4; i++) {
                cadena.append(allowedCharacters[ random.nextInt(allowedCharacters.length) ]);
            }
            arrayOrden.add(cadena.toString());System.out.println(cadena);
            cadena.delete(0, cadena.length()); // reiniciar el StringBufferSystem.out.println("Desea generar otra cadena de texto? (ingrese 1 para salir o 2 para seguir con el programa)");
            salir = scanner.nextInt();
        }
        System.out.println("Ingresa la última cadena en el orden correcto");
        cadenaUsuario = scanner.next();if (arrayOrden.get(arrayOrden.size()-1).equals(cadenaUsuario)) {
            System.out.println("Ganaste! :)  el orden es el correcto");
        } else {
            System.out.println("Perdiste :(");
        }
        System.out.println();System.out.println("El orden fue: "+ arrayOrden.toString());
    }
}

Resultado de la ejecución del programa

1
6327Puntos

Reto 21: ¿Cuánto vas a ahorrar?
En Java ☕️ ☕️


public class CalculadoraInteresCompuesto {
    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#.00");System.out.println("Calculadora de capital final (condiserando un interes del 4%)");
        Scanner scanner = new Scanner(System.in);System.out.println("Ingresa tu captial incial");int cInicial = scanner.nextInt();double cFinal = 0;System.out.println("Ingresa una opción para el tiempo 1-(6 meses) 2-(1 año) 3-(2 años)");int opcion = scanner.nextInt();switch (opcion) {
            case1: //6 meses = 0.5
                cFinal = Math.pow(1.04, 0.5) * cInicial;break;case2: //1 año = 1
                cFinal = Math.pow(1.04, 1) * cInicial;break;case3: //2 años = 2
                cFinal = Math.pow(1.04, 2) * cInicial;break;default:
                System.out.println("Opción incorrecta :(");break;
        }
        System.out.println("Tu capital final será de: " + df.format(cFinal));
    }
}

Resultado de la ejecución

1
26494Puntos

Este fue mi resultado con Python. 🐍🐍

definteres(monto):
    monto_seis_meses = monto
    for _ in range(6):        
        interes = monto_seis_meses * 0.04
        monto_seis_meses += interes
        # print(monto_seis_meses)
    
    monto_un_anio = monto_seis_meses
    for _ in range(6):        
        interes = monto_un_anio * 0.04
        monto_un_anio += interes
        # print(monto_un_anio)
    
    monto_dos_anios = monto_un_anio
    for _ in range(12):        
        interes = monto_dos_anios * 0.04
        monto_dos_anios += interes
        # print(monto_dos_anios)    

    monto_seis_meses = round(monto_seis_meses, 2)
    monto_un_anio = round(monto_un_anio, 2)
    monto_dos_anios = round(monto_dos_anios, 2)

    return monto_seis_meses, monto_un_anio, monto_dos_anios


defrun():
    ahorro_inicial = 100
    ahorro_seis_meses, ahorro_un_anio, ahorro_dos_anios  = interes(ahorro_inicial)
    print(f"""\nAl comenzar a ahorrar hoy ${ahorro_inicial} tendrás en:
    6 meses: ${ahorro_seis_meses}
    1 año: ${ahorro_un_anio}
    2 años: ${ahorro_dos_anios}
    """)


if __name__ == "__main__":
    run()
1
7 meses

Saludos Miguel, la estructura de la fórmula del interés compuesto es la misma sin importar el número de meses, podrías ahorrar código enviando el número de meses como parámetro a tu función.

1
8870Puntos

en C#

using System;

namespace Reto_22__Cuanto_vas_a_ahorrar
{
    class Program
    {
        staticvoid Main(string[] args)
        {
            Console.WriteLine("¿Cuánto vas a ahorrar?");
            double ahorro = double.Parse(Console.ReadLine());
            Console.WriteLine("¿Con cuanta tasa de interés (en porcentaje)?");
            float tasa = float.Parse(Console.ReadLine());
            Console.WriteLine("¿Cuántos meses llevas ahorrando?");
            int meses = Int32.Parse(Console.ReadLine());
            Console.WriteLine("¿Cuántos años llevas ahorrando?");
            int años = Int32.Parse(Console.ReadLine());
            double ahorroFinal = Calculo.calcularAhorro(ahorro, tasa, años, meses);
            Console.WriteLine("Utilizando metodo de for en programación");
            Console.WriteLine("tu ahorro tras " + años + " años " + meses + " meses es de " + ahorroFinal + " dolares");
            double ahorroFinal2 = Calculo.montoCompuesto(ahorro, tasa, años, meses);
            Console.WriteLine("Utilizanod la formula del monto Compuesto");
            Console.WriteLine("tu ahorro tras " + años + " años " + meses + " meses es de " + ahorroFinal2 + " dolares");
   

        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;

namespaceReto_22__Cuanto_vas_a_ahorrar
{
    classCalculo
    {
        publicstaticdoublecalcularAhorro(double ahorro, float tasa, int años, int meses)
        {
            meses += (años * 12);

            for(int i=0; i<meses; i++)
            {
                ahorro += ahorro * (tasa / 100);
            }

            return ahorro;
        }

        publicstaticdoublemontoCompuesto(double ahorro, float tasa, int años, int meses)
        {
            meses += (años * 12);
            ahorro = ahorro * (Math.Pow((1 + (tasa / 100)), meses));
            return ahorro;
        }
    }
}
1
14394Puntos

21 > JS

const calculator = (saving,interest,time) =>{
    let total = saving * (1+interest/100)**timereturn total.toFixed(2)
}

const compound_interest = () =>{
    const saving = 100;
    const interest = 4;
    let total_interest = {
        '6 meses' : calculator(saving,interest,0.5),
        '1 año' : calculator(saving,interest,1),
        '2 años' : calculator(saving,interest,2)
    }
    console.log(total_interest)

}

compound_interest()

21 > Python

defcalculator_int(saving,interest,time):
    total = saving * (1+interest/100)**time
    return round(total,2)



defcompound_interest():
    saving = 100
    interest = 4

    interest_time = {
        '6 months': calculator_int(saving,interest,0.5),
        '1 year': calculator_int(saving,interest,1),
        '2 year': calculator_int(saving,interest,2),
    }

    for i,j in interest_time.items():
        print(f'{i} => {j}')

compound_interest()
1

En Python:

  1. ¿Cuánto vas a ahorrar?
""" Programa para calcular interés compuesto mensual.
Program to calculate monthly compound interest. """defmonthly_compound_interest(initial_capital, interest, months):
    final_capital = round(initial_capital * ((1 + (interest/100))**months), 2)
    return final_capital

if __name__ == "__main__":
    print('COMPOUND INTEREST CALCULATOR for $100!!!')
    print('Your mount in six months will be: ${}' .format(monthly_compound_interest(100, 4, 6)))
    print('Your mount in 1 year (twelve months) will be: ${}' .format(monthly_compound_interest(100, 4, 12)))
    print('Your mount in 2 years (twenty four months) will be: ${}' .format(monthly_compound_interest(100, 4, 24)))
1

JavaScript

functioninterest(money, perc, period) {
    let semester = (money*(perc/100)) + money
    console.log(`Esto generaste en 1 semestre:  $ ${semester.toFixed(2)}`)
        for(i = 1; i < period; i++) {
            semester += (semester*(perc/100))
            console.log(`Esto generaste en ${i + 1} semestres: $ ${semester.toFixed(2)}`)
        }
}

interest(100, 4, 4)
0
12398Puntos

Reto 21 en Python:

CO = 100
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
      calculo_de_ahorro(tiempo)

    elif op == '2':
      tiempo = 12
      calculo_de_ahorro(tiempo)
    
    elif op == '3':
      tiempo = 24
      calculo_de_ahorro(tiempo)
    
    elif op == 'x':
      breakelse:
      print('Opción no válida')


defcalculo_de_ahorro(tiempo):
  I_ganado =  round( (CO * ( (pow(1 + (i/100), tiempo) ) - 1)),2 )
  
  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()```