input()error - NameError:name'...'未定义

时间:2017-09-19 22:05:31

标签: python

由于某种原因,我一直在“数学”上得到一个NameError。

years = 10 
D = 100 


p = 0.075 / 12 
T = years * 12 
S = D * ((math.pow(1 + p, T) - 1) / p)

print("In", years, "years, $", end = "")
print(D, "deposited per month will grow to $", end = "")

SFormatted = "%.2f" % S
print(SFormatted, ".", sep = "") 

2 个答案:

答案 0 :(得分:2)

您需要先在脚本中执行'import math'

实施例

>>> math.pow(1, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'math' is not defined

>>> import math
>>> math.pow(2, 2)
4.0

答案 1 :(得分:0)

失败的原因是因为代码中没有定义math变量,因此您无法使用math.pow

但是,您不需要import math(但这也可以),因为内置函数中有pow函数。

所以只需改变:

S = D * ((math.pow(1 + p, T) - 1) / p)

为:

S = D * ((pow(1 + p, T) - 1) / p)

或使用权力运算符**

S = D * (((1 + p) ** T) - 1) / p)