Seguros / app.py
Casarin's picture
Update app.py
f6da324 verified
raw
history blame contribute delete
No virus
1.51 kB
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()