我试图创建一个贷款计算器,但由于某些原因,我一直收到“cannotmultiplesequence by non int of type‘float’”错误
iniLoan=float(input("What is the loan"))
interestRate=float(input("What is the interest rate?"))
numberOfpayments=int(input("For how many years is it?"))
monthly=float(iniLoan)*[float(interestRate)*(int(1)+float(interestRate))*int(numberOfpayments)\
]/[(int(1)+float(interestRate))*int(numberOfpayments)-int(1)]
print("The monthly payment is {0:f} " .format(monthly))
()
和[]
是不可交换的-你应该只使用(
和{monthly
,就可以了:进一步解释为什么Mureinik的答案是正确的。
使用括号
[]
创建一个列表。您收到的错误:
can't multiply sequence by non-int of type 'float'
是说不能用浮点数乘以一个列表(序列)。例如:
['a', 34, 'cow] * 2.365
没有任何意义。你是如何将这张名单列为2.365倍的?你不能。
相同的逻辑是正确的,即使列表只包含一个数字:
[5] * 4.3
也会因为相同的原因而导致相同的错误。解决方案:
当您想让内部的值一起计算时,您只想使用好的ol'括号
()
。在相关问题 更多 >
编程相关推荐