次のPythonコードは何ですか？

＃https://www.investopedia.com

__future__インポートアノテーションから


def simple_interest（
    メイン：float、daily_interest_rate：float、days_between_payments：int
） - >フロート：
    ""
    >>> simple_interest（18000.0、0.06、3）
    3240.0
    >>> simple_interest（0.5、0.06、3）
    0.09
    >>> simple_interest（18000.0、0.01、10）
    1800.0
    >>> simple_interest（18000.0、0.0、3）
    0.0
    >>> Simple_Interest（5500.0、0.01、100）
    5500.0
    >>> simple_interest（10000.0、-0.06、3）
    Traceback（最新のコールLast）：
        ...
    ValueError：daily_interest_rateは> = 0でなければなりません
    >>> simple_interest（-10000.0、0.06、3）
    Traceback（最新のコールLast）：
        ...
    Valueeror：メインは> 0でなければなりません
    >>> simple_interest（5500.0、0.01、-5）
    Traceback（最新のコールLast）：
        ...
    ValueError：days_between_payments b> 0が必要です
    ""
    days_between_payments <= 0の場合：
        Raise ValueError（ "days_between_payments b> 0"）
    daily_interest_rate <0の場合：
        Raise ValueError（ "Daily_interest_rateはb> = 0"）
    メイン<= 0の場合：
        Raise ValueRerr（ "Mainは> 0" "
    メインリターン * daily_interest_rate * days_between_payments


def compount_interest（
    メイン：フロート、
    nominal_annual_interest_rate_percantage：float、
    number_of_compounding_periods：int、
） - >フロート：
    ""
    >>> compount_interest（10000.0、0.05、3）
    1576.2500000000014
    >>> compount_interest（10000.0、0.05、1）
    500.00000000000045
    >>> compount_interest（0.5、0.05、3）
    0.07881250000000006
    >>> compount_interest（10000.0、0.06、-4）
    Traceback（最新のコールLast）：
        ...
    ValueError：number_of_compounding_periodsは> 0でなければなりません
    >>> compount_interest（10000.0、-3.5、3.0）
    Traceback（最新のコールLast）：
        ...
    ValueError：nominal_annual_interest_rate_percantageはb> = 0でなければなりません
    >>> compound_interest（-5500.0、0.01、5）
    Traceback（最新のコールLast）：
        ...
    Valueeror：メインは> 0でなければなりません
    ""
    number_of_compounding_periods <= 0の場合：
        Raise ValueError（ "number_of_compounding_periodsは> 0"でなければなりません）
    nominal_annual_interest_rat_percantage <0の場合：
        Raise ValueError（ "nominal_annual_interest_rate_percentageはb> = 0"）
    メイン<= 0の場合：
        Raise ValueRerr（ "Mainは> 0" "

    メインリターン *（
        （1 + nominal_annual_interest_rate_percentage）** number_of_compounding_periods
        -1
    ））


__name__ == "__main__"の場合：
    Doctestをインポートします

    doctest.testmod（）
Qué hace el siguiente código de Python?

# https://www.investopedia.com

from __future__ import annotations


def simple_interest(
    principal: float, daily_interest_rate: float, days_between_payments: int
) -> float:
    """
    >>> simple_interest(18000.0, 0.06, 3)
    3240.0
    >>> simple_interest(0.5, 0.06, 3)
    0.09
    >>> simple_interest(18000.0, 0.01, 10)
    1800.0
    >>> simple_interest(18000.0, 0.0, 3)
    0.0
    >>> simple_interest(5500.0, 0.01, 100)
    5500.0
    >>> simple_interest(10000.0, -0.06, 3)
    Traceback (most recent call last):
        ...
    ValueError: daily_interest_rate must be >= 0
    >>> simple_interest(-10000.0, 0.06, 3)
    Traceback (most recent call last):
        ...
    ValueError: principal must be > 0
    >>> simple_interest(5500.0, 0.01, -5)
    Traceback (most recent call last):
        ...
    ValueError: days_between_payments must be > 0
    """
    if days_between_payments <= 0:
        raise ValueError("days_between_payments must be > 0")
    if daily_interest_rate < 0:
        raise ValueError("daily_interest_rate must be >= 0")
    if principal <= 0:
        raise ValueError("principal must be > 0")
    return principal * daily_interest_rate * days_between_payments


def compound_interest(
    principal: float,
    nominal_annual_interest_rate_percentage: float,
    number_of_compounding_periods: int,
) -> float:
    """
    >>> compound_interest(10000.0, 0.05, 3)
    1576.2500000000014
    >>> compound_interest(10000.0, 0.05, 1)
    500.00000000000045
    >>> compound_interest(0.5, 0.05, 3)
    0.07881250000000006
    >>> compound_interest(10000.0, 0.06, -4)
    Traceback (most recent call last):
        ...
    ValueError: number_of_compounding_periods must be > 0
    >>> compound_interest(10000.0, -3.5, 3.0)
    Traceback (most recent call last):
        ...
    ValueError: nominal_annual_interest_rate_percentage must be >= 0
    >>> compound_interest(-5500.0, 0.01, 5)
    Traceback (most recent call last):
        ...
    ValueError: principal must be > 0
    """
    if number_of_compounding_periods <= 0:
        raise ValueError("number_of_compounding_periods must be > 0")
    if nominal_annual_interest_rate_percentage < 0:
        raise ValueError("nominal_annual_interest_rate_percentage must be >= 0")
    if principal <= 0:
        raise ValueError("principal must be > 0")

    return principal * (
        (1 + nominal_annual_interest_rate_percentage) ** number_of_compounding_periods
        - 1
    )


if __name__ == "__main__":
    import doctest

    doctest.testmod()