Python - TypeError:'float'对象不能用于打印

时间:2016-02-10 18:13:47

标签: python typeerror

我是python编程的新手。我已经在堆栈溢出中看到了这个错误,并且阅读了thourgh解释......但是我做的很简单并且仍然出现了错误......

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)

有人可以提出解决方案,特别是为什么python如何做的一些背景?

3 个答案:

答案 0 :(得分:0)

你的问题在这里

minMonthlyPayment = minMonthlyPayment(monthlyRate, balance)

您将结果绑定到与您的函数相同的名称。尝试

minMonPay = minMonthlyPayment(monthlyRate, balance)

答案 1 :(得分:0)

您对返回值和函数名称使用相同的变量名称。

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

将两者中的一个更改为不同的值,并调整函数定义以考虑更改的名称,或调整print语句以使用新的变量名称。

答案 2 :(得分:0)

最初,minMonthlyPayment绑定到一个函数。但是,第一次通过循环时,将函数的返回值指定为相同的名称。第二次循环,你基本上试图将float称为函数,例如

(4.3)(monthlyRate, balance)

为调用minMonthlyPayment

的结果选择其他名称
payment = minMonthlyPayment(monthlyRate, balance).

此外,对于类名以外的名称,请使用this_style代替thisStyle