2015-09-23 85 views
-3

該代碼只是給出貸款支付的月數。類型錯誤:浮動不可回叫

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

我不從這個代碼得到這個錯誤,我得到'類型錯誤:不支持的操作數類型(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

啊,我因爲使用​​print()函數而假定了Python 3。 – cdarke

相關問題