"""
Написать программу «Банковский депозит». Она должна состоять из функции и ее вызова с аргументами.
Клиент банка делает депозит на определенный срок. В зависимости от суммы и срока вклада определяется
процентная ставка:
 - 1000–10000 руб (6 месяцев — 5 % годовых, год — 6 % годовых, 2 года — 5 % годовых).
 - 10000–100000 руб (6 месяцев — 6 % годовых, год — 7 % годовых, 2 года – 6.5 % годовых).
 - 100000–1000000 руб (6 месяцев — 7 % годовых, год — 8 % годовых, 2 года — 7.5 % годовых).
Необходимо написать функцию, в которую будут передаваться параметры: сумма вклада и срок вклада.
Каждый из трех банковских продуктов должен быть представлен в виде словаря с ключами
(begin_sum, end_sum, 6, 12, 24). Ключам соответствуют значения начала и конца диапазона суммы вклада и
значения процентной ставки для каждого срока. В функции необходимо проверять принадлежность суммы
вклада к одному из диапазонов и выполнять расчет по нужной процентной ставке.
Функция возвращает сумму вклада на конец срока.
"""
BANK = {
    'first': {
        'begin_sum': 10**3,
        'end_sum': 10**4,
        '6': 5,
        '12': 6,
        '24': 5
    },
    'second': {
        'begin_sum': 10**4,
        'end_sum': 10**5,
        '6': 6,
        '12': 7,
        '24': 6.5
    },
    'third': {
        'begin_sum': 10**5,
        'end_sum': 10**6,
        '6': 7,
        '12': 8,
        '24': 7.5
    }
}


def calculate_deposit(deposit: int, term: int) -> int:
    for bank_program in BANK.values():
        if deposit in range(bank_program['begin_sum'], bank_program['end_sum']):
            if term < 6:
                return deposit + deposit * bank_program['6']/100
            elif 6 <= term < 12:
                return deposit + deposit * bank_program['12']/100
            elif term >= 12:
                return deposit + deposit * bank_program['24']/100


if __name__ == '__main__':
    print(calculate_deposit(10000, 10))
