class Capaciteitstarief: def __init__(self): self.gemiddelde_maandpiek = 38.7570 # Eur / KW / jaar self.kwh_tarief = 36.0218 / 1000 # EUR / kWh self.databeheer = 13.71 # EUR / jaar def calculate(self, peak: float, usage: float, days: int): """calculate distribution cost :param peak: gemiddelde peak over alle maanden :type peak: float :param usage: totaal aantal kWh verbruikt :type usage: float :param days: totaal aantal dagen verbruikt :type days: int """ peak = max(peak, 2.5) return ((peak * self.gemiddelde_maandpiek) / 365 * days + usage * self.kwh_tarief + self.databeheer / 365 * days) * self.btw def calculate_per_kwh(self, peak: float) -> tuple(float, float): """calculate_per_kwh distribution cost :param peak: gemiddelde peak over alle maanden :type peak: float :return: cost per kwh and yearly costs """ return self.kwh_tarief, self.databeheer + self.gemiddelde_maandpiek * peak