次の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（）
このコードは、python、simple_interest（）e Compemate_Interest（）の2つの関数を定義します。両方の機能は、メイン（初期資本）、Daily_Interest_rate（単純な利息の場合の1日の金利、および複利の場合の年間名目金利）、およびDays_BetWeen_Pyementsまたはnumber_of_compounding_periods（日数または期間数またはdays_between_peymentsの3つの議論を取ります。単純な利息の場合の利息の支払いと、複利の場合の資本化期間の数との間の資本化の間）。

さらに、コードには、関数の適切な機能を検証するために、DocStrusの形式の一連のUnityテストが含まれています。これらのテストでは、関数が特定の入力値に対して予想される結果を返すこと、および無効な値が提供されるとエラーが生成されることを確認します（負の金利や非肯定的資本期間など）。

最後に、コードには、Doctestモジュールへの呼び出しが含まれています。これは、教義で定義された単体テストを実行し、関数が適切に機能することを確認します。