import streamlit as st import numpy as np import matplotlib.pyplot as plt # FunciĆ³n para calcular el VPN def calcular_vpn(costos, tasa_descuento): vpn = 0 for t, flujo in enumerate(costos): vpn += flujo / ((1 + tasa_descuento) ** (t + 1)) return vpn # Calcular el VPN para cada proyecto vpns = {proyecto: calcular_vpn(flujos, tasa_descuento) for proyecto, flujos in costos.items()} # Imprimir los resultados for proyecto, vpn in vpns.items(): print(f"VPN del Proyecto {proyecto}: {vpn:.2f}") # Calcular el promedio de los VPN promedio_vpn = sum(vpns.values()) / len(vpns) # Imprimir el promedio print(f"Promedio de los VPN: {promedio_vpn:.2f}") # Button to calculate PV if st.button('Calculate Present Value'): if len(cashflows) != num_years: st.warning(f"Please enter {num_years} cashflows.") else: present_value = calculate_present_value(cashflows, discount_rate) st.success(f'The Present Value is: ${present_value:,.2f}') # Plot cashflow diagram plt.figure(figsize=(10, 6)) colors = ['green' if cf > 0 else 'red' for cf in cashflows] plt.bar(range(1, num_years + 1), cashflows, color=colors) plt.title('Cashflow Diagram') plt.xlabel('Year') plt.ylabel('Cashflow') plt.grid(True) st.pyplot(plt)