2015-09-23 2 views
-3

код просто дает количество месяцев для выплаты кредита.Тип Ошибка: Float не может быть вызван

import sys 

loanAmt = input("enter the amount of loan you want : ") 
r = input("enter the rate of interest : ") 
numOfPayments = input("enter number of payments : ") 
month = loanAmt (r * (1+numOfPayments)/((1+r) * (numOfPayments-1))) 

print(month) 

ОШИБКА:

TypeError: 'float object is not callable ' 
+0

Я не получаю эту ошибку из этого кода, я получаю 'TypeError: неподдерживаемый тип операнда (s) для +: 'int' и 'str'', потому что 'input()' возвращает строку. – cdarke

ответ

2

loanAmt является поплавок, и вы пытаетесь назвать:

month = loanAmt (...) 

Может быть, вы хотели умножить что значение исходом из выражение в скобках? Если да, то вам не хватает *:

month = loanAmt * (...) 

Полная линия, то должно быть:

month = loanAmt * (r * (1 + numOfPayments)/((1 + r) * (numOfPayments - 1))) 
+0

Я не понимаю, конечно, 'loanAmt' - это строка? – cdarke

+0

@cdarke: в Python 2 'input()' оценивает ввод как выражение Python. Ввод '4.2' даст вам поплавок. Исключением ясно видно, что это поплавок. –

+0

Ах, я предположил Python 3 из-за функции 'print()'. – cdarke

Смежные вопросы