Не могу выполнить задачу на Python

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

Написать функцию bank, принимающая аргументы a и years, и возвращающую сумму, которая будет на счету пользователя.

Мой код:

def bank(a,time):
    for each_year in time:
        a = (a * 0.1)
    return a

a=float(input("Сколько денег вкладываем? "))

time=float(input("На сколько лет? "))

print(bank(a))

Вот, что говорит терминал:

C:\Users\ASUS\Documents\Python> c: && cd c:\Users\ASUS\Documents\Python && cmd /C "C:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe c:\Users\ASUS\.vscode\extensions\ms-python.python-2021.8.1105858891\pythonFiles\lib\python\debugpy\launcher 52546 -- c:\Users\ASUS\Documents\Python\Tasks\5.py "
Сколько денег вкладываем? 500
На сколько лет?5
Traceback (most recent call last):
  File "c:\Users\ASUS\Documents\Python\Tasks\5.py", line 15, in <module>
    print(bank(a))
TypeError: bank() missing 1 required positional argument: 'time'

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

Автор решения: Станислав Енягин

Твоя проблема заключается в том, что функция bank принимает 2 аргумента, а ты ввёл только один.

print(bank(a))

Нужно сделать так:

print(bank(a,time))

Есть ещё одна проблема:

for each_year in time:
        a = (a * 0.1)

Таким образом твоя переменная каждый раз будет только уменьшаться. Так же ты неправильно написал цикл. Для увеличения на 10% в год нужно сделать так:

for each_year in range(time):
        a = (a * 1.1)
→ Ссылка
Автор решения: CrazyElf

Так то в этой задаче цикл вообще не нужен, если сумма вносится один раз в самом начале:

print(f'{a*1.1**time:0.2f}')

Вот если деньги довкладываются каждый год (помимо накопившихся процентов), тогда без цикла уже не обойтись.

→ Ссылка
Автор решения: Remerd

Есть несколько ошибок. Первая - неправильный вызов функции, а точнее ей передаётся только один аргумент "a", а должно - a и time. print(bank(a, time))

Вторая ошибка - определение года, как float, ведь год может быть только целым. time=int(input("На сколько лет? "))

Третья - цикл в функции. Там надо использовать ф-цию range для перебора N раз, т. е. столько же раз, сколько и указано лет. for each_year in range(time):

Четвёртая - умножение на 0.1, т. к. это даёт только 10% от того, что было, а нам надо - 110%. Есть два варианта - это либо складывать, либо домножать на 1.1 a += (a * 0.1) или a = (a * 1.1)

Полный вариант: pastebin.com/XgF4r5Qh

→ Ссылка