import streamlit as st import numpy as np import matplotlib.pyplot as plt def calcular_cashflow(n, A, r, Pi): cashflow = [] saldo = Pi for i in range(n): interes = saldo * (r/100) abono_capital = A - interes saldo += abono_capital cashflow.append(saldo) return cashflow def graficar_cashflow(cashflow): meses = range(1, len(cashflow) + 1) plt.plot(meses, cashflow, marker='o', linestyle='-') plt.title('Cashflow por Mensualidad') plt.xlabel('Mes') plt.ylabel('Saldo') plt.grid(True) st.pyplot() def main(): st.title('Calculadora de Cashflow') n = st.number_input("Ingrese el número de mensualidades:", min_value=1, step=1, format='%d') A = st.number_input("Ingrese el monto de la mensualidad:", min_value=0.0, step=1.0, format='%f') r = st.number_input("Ingrese la tasa de interés (%):", min_value=0.0, step=0.01, format='%f') Pi = st.number_input("Ingrese el depósito inicial:", min_value=0.0, step=1.0, format='%f') if st.button('Calcular y Graficar Cashflow'): cashflow = calcular_cashflow(int(n), float(A), float(r), float(Pi)) graficar_cashflow(cashflow) if __name__ == "__main__": main()