@FromProg

Какая ошибка в коде?

Пользователь делает вклад в размере N рублей сроком на years лет под 10% годовых (каждый год размер его вклада увеличивается на 10%. Эти деньги прибавляются к сумме вклада и на них в следующем году тоже будут проценты).

def deposit(amount, years):
    total = amount
    i = 0
    while i < amount:
        calculation = (amount + (amount * 0.1))
        total += calculation
        i += 1
    return total
print(deposit(100, 1))


Вывод в консоли: 11100.0
  • Вопрос задан
  • 411 просмотров
Решения вопроса 1
def deposit_income_calculator(money_count,  number_years):
      for _ in range(number_years):
           money_count += money_count * 0.1
      return money_count

print(deposit_income_calculator(100, 1))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dmshar
А причем тут неправильный код, когда у вас неправильная формула? Формула (и соответствующие код) для расчета сложных процентов выглядит следующим образом:

base=100
interest=0.1
years=1
repayment=base*(1+interest)**years
print(repayment)


Ну, или если очень хочется в виде функции, тогда так:
def deposite(base,years,interest=0.1):
    return base*(1+interest)**years

print(deposite(100,1)


И никаких циклов тут не нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы