我正在尝试这个例子:
p = 10000
n = 12
r = 8
t = int(input("Enter the number of months the money will be compounded "))
a = p (1 + (r/n)) ** n,t
print (a)
..但错误是:
TypeError: 'int' object is not callable
Python是否将p视为一种功能?如果是这样,如果没有导入模块,我是不是可以做到这一点?
谢谢!
答案 0 :(得分:5)
将行更改为
a = p * (1 + (r/n)) ** (n * t)
Python不会将彼此相邻的变量解释为相乘(也不会将n, t
解释为。
答案 1 :(得分:1)
假设您使用的是python 3 ..
p = 10000
n = 12
r = 8
t = int(input("Enter the number of months the money will be compounded: "))
a = p * (1 + (r / n)) ** (n * t)
print(a)
同时仔细检查t
的单位,是几个月还是几年?这个公式似乎暗示了几年(如果n = 12
是每年几个月)但你提示数月。
如果在python 2.x中你需要从__future__
导入除法,或者首先将r转换为浮点数。您可以使用raw_input
作为提示。
答案 2 :(得分:-1)
您正在尝试乘以p,因此您应该明确并使用*
:
a = p * ((1 + (float(r)/n)) ** n,t)
施放浮动(感谢David R)以防止划分中的int rounding问题。
答案 3 :(得分:-1)
尝试:
p * (1 + (r/100.0/n)) ** (n * t)