2016-02-10 56 views
-1

我是新手進入python編程。我所看到的堆棧溢出此錯誤和閱讀thourgh解釋......但我在做簡單的事情,仍然收到這個錯誤...Python - TypeError:'float'對象不可打印

def minMonthlyPayment(monthlyRate, previousBalance): 
    minMonthlyPayment = monthlyRate * previousBalance 
    return minMonthlyPayment 

balance = 5000 
monthlyRate = 0.05 

for i in range(0, 12): 
    print('Month: ', i) 
    minMonthlyPayment = minMonthlyPayment(monthlyRate, balance) 
    print('Minimum monthly payment: ', minMonthlyPayment) 

可有人建議分辨率和特殊爲什麼怎麼蟒蛇做一些背景?

+1

您已使用相同的變量名稱來接收值'minMonthlyPayment'。這是覆蓋功能。更改變量名稱,你應該沒問題 –

+0

函數和變量名稱相同。 – Benjamin

回答

0

你的問題是在這裏

minMonthlyPayment = minMonthlyPayment(monthlyRate, balance) 

你的結果綁定到相同的函數的名稱。嘗試

minMonPay = minMonthlyPayment(monthlyRate, balance) 
0

您的返回值和函數名稱都使用相同的變量名稱。

minMonthlyPayment = minMonthlyPayment(monthlyRate, balance) 
    ^    ^
     These two are the same 

更改兩個中的一個不同的東西,並調整無論你的函數定義來解釋更改的名稱,或print語句中使用新的變量名。

0

最初,minMonthlyPayment被綁定到一個函數。但是,通過循環第一次將函數的返回值分配給相同的名稱。第二次通過循環,你基本上試圖稱作float作爲一個函數,例如,

(4.3)(monthlyRate, balance) 

選擇一個不同的名稱,結果調用minMonthlyPayment

payment = minMonthlyPayment(monthlyRate, balance). 

同樣的,使用this_style代替thisStyle比類名的其他名稱。

+0

現在明白了.....感謝您的提示 – anno