def calculate_drci(cash_flows, rate): cumulative_cash_flow = 0 for i in range(len(cash_flows)): cumulative_cash_flow += cash_flows[i] / ((1 + rate) ** i) if cumulative_cash_flow >= 0: previous_cash_flow = cumulative_cash_flow - cash_flows[i] / ((1 + rate) ** i) period_fraction = -previous_cash_flow / (cash_flows[i] / ((1 + rate) ** i)) return i - 1 + period_fraction return "Investissement jamais récupéré" def drci_calculator(): cash_flows = [] rate = float(input("Taux : ")) initial_investment = float(input("Invest. init. : ")) cash_flows.append(-initial_investment) years = int(input("Nb d'années : ")) for i in range(1, years + 1): cf = float(input("Flux année " + str(i) + " : ")) cash_flows.append(cf) drci = calculate_drci(cash_flows, rate) print("DRCI : " + str(drci) + " années" if isinstance(drci, float) else drci) drci_calculator()