Помогите с тестом!

Напиши функцію calculate_profit, яка приймає три параметри:
amount - початкова сума, яку ми кладемо на депозит;
percent - річна відсоткова ставка;
period - кількість років (час, на який гроші кладуться на депозит).
Функція повинна розрахувати і повернути суму чистого прибутку за весь час.

Приклади (ми перевіряємо тільки цілу частину):

calculate_profit(1000, 5, 1) == 50
calculate_profit(12500, 3, 12) == 5322

Мой код:

def calculate_profit(amount: int, percent: float, period: int) -> float:
    totalAmount = amount  
    years =  0 
    while ( years < period): 
        totalAmount = (amount * percent // 100 )
        years += 1
        return totalAmount

Подскажите что у меня не правильно, пожалуйста!:)


Ответы (1 шт):

Автор решения: splash58

Судя по примерам, считаются сложные проценты

Приводить к целым следует только в конце, иначе результат не совпадает

А ну да, выходить из функции внутри цикла - бессмыслено

def calculate_profit(amount: int, percent: float, period: int) -> float:
    totalAmount = amount
    for _ in range(period):
        totalAmount += (totalAmount * percent / 100 )
    return int(totalAmount - amount)
→ Ссылка