def FGTS(salarioBruto: float, numeroDeMeses: int = 12, incluirMulta: bool = False,
         incluirRendimento: bool = False) -> float:
    """
    Calcula o valor do FGTS recebido durante determinado periodo de tempo.
    É possível selecionar se deseja incluir os valor dos rendimentos ou somente os aportes.
    Está incluso o recebimento do FGTS referente às duas parcelas do 13o salário (a primeira no mês 6 e a segunda no mês 11)
    Também está incluso o recebimento do FGTS referente à 1/3 de Férias
    :param salarioBruto, numeroDeMeses, incluirMulta, incluirRendimento
    :return: saldoFGTS
    """

    RendimentoAnual = 0.03  # Rendimento FGTS 3% a.a

    # Incluir rendimento do FGTS no cálculo?
    if incluirRendimento:
        RendimentoMensal = pow(1 + RendimentoAnual, 1 / 12) - 1  # Cálculo do rendimento mensal
    else:
        RendimentoMensal = 0

    AportesMensais = salarioBruto * 0.08  # Valor depositado na conta do FGTS mensalmente
    saldoFGTS = 0  # Saldo inicial

    for mes in range(numeroDeMeses):
        if mes == 6:  # Primeira Parcela do 13o Salário (data aproximada)
            saldoFGTS = saldoFGTS * (1 + RendimentoMensal) + 1.5 * AportesMensais
        elif mes == 11:  # Segunda Parcela do 13o Salário + 1/3 de Ferias
            saldoFGTS = saldoFGTS * (1 + RendimentoMensal) + 1.8 * AportesMensais
        else:
            saldoFGTS = saldoFGTS * (1 + RendimentoMensal) + AportesMensais

    if incluirMulta:
        saldoFGTS += AportesMensais * numeroDeMeses * 0.4  # 40% de multa por demissão sem justa causa

    saldoFGTS = round(saldoFGTS, 2)
    return saldoFGTS