import math import pandas as pd import streamlit as st # Función para calcular el capital inicial necesario def calcular_capital_inicial(A, r, n): capital_inicial = A * ((1 - (1 + r / 100) ** -n) / (r / 100)) return capital_inicial # Función principal def main(): # Crear un DataFrame vacío para almacenar los datos data = {'A': [], 'r': [], 'n': [], 'Capital Inicial Necesario': []} df = pd.DataFrame(data) # Obtener los datos del usuario st.title("Calculadora de Capital Inicial") st.write("Ingrese los datos necesarios para calcular el capital inicial necesario para alcanzar un monto deseado.") while True: A = st.number_input("Monto de dinero deseado (A): ", min_value=0.0) r = st.number_input("Tasa de interés (r) en porcentaje: ", min_value=0.0) n = st.number_input("Número de meses (n): ", min_value=0, step=1) # Calcular el capital inicial necesario capital_inicial = calcular_capital_inicial(A, r, n) # Agregar los datos al DataFrame df = pd.concat([df, pd.DataFrame({'A': [A], 'r': [r], 'n': [n], 'Capital Inicial Necesario': [capital_inicial]})], ignore_index=True) # Verificar si el usuario desea ingresar más datos respuesta = st.radio("¿Desea ingresar más datos?", ('Sí', 'No')) if respuesta == 'No': break # Mostrar la tabla con los resultados st.write("\nTabla de Resultados:") st.dataframe(df) if __name__ == "__main__": main()