not enough arguments for format string

Предполагаю, что ошибка в %8.2 и тп (помогите, не могу завершить задачку)

def compute_payment(t, s, n, k):
y = (s / n) + (s - (t - 1) * (s / n)) * (k / (12 * 100))
return y


def ne_compute_payment(s, n, k):
    ka = k / (12 * 100)
    f = ka * ((1 + ka) ** n)
    ss = ((1 + ka) ** n) - 1
    z = (f / ss) * s
    return z


s = int(input())
res1 = s
res2 = s
n = int(input())
k = int(input())
a = b = 1

for i in range(1, n + 1):
    print("%2d месяц - (диф.) %8.2f руб - (анн.) %8.2f руб" % (i, compute_payment(i, s, n, k)),
          ne_compute_payment(s, n, k))
    res1 -= compute_payment(i, s, n, k)
    res2 -= ne_compute_payment(s, n, k)

print("Доход банка - (диф.) %6.2f руб - (анн.) %6.2f руб" % (abs(res1), abs(res2)))

входные данные
1000000
12
15

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

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

Скобку не там закрыли

def compute_payment(t, s, n, k):
    y = (s / n) + (s - (t - 1) * (s / n)) * (k / (12 * 100))
    return y


def ne_compute_payment(s, n, k):
    ka = k / (12 * 100)
    f = ka * ((1 + ka) ** n)
    ss = ((1 + ka) ** n) - 1
    z = (f / ss) * s
    return z


s = int(input())
res1 = s
res2 = s
n = int(input())
k = int(input())
a = b = 1

for i in range(1, n + 1):
    print("%2d месяц - (диф.) %8.2f руб - (анн.) %8.2f руб" % (i, compute_payment(i, s, n, k),
          ne_compute_payment(s, n, k)))
    res1 -= compute_payment(i, s, n, k)
    res2 -= ne_compute_payment(s, n, k)

print("Доход банка - (диф.) %6.2f руб - (анн.) %6.2f руб" % (abs(res1), abs(res2)))
→ Ссылка