我试图用pyplot绘制在Python线图时,“浮动”对象不是可调用的,但我得到一个错误,TypeError: 'float' object is not callable
此行的代码:类型错误:试图绘制功能
ycoord = [math.pow(p(1-p),(i-1)) for i in range(1,51)]
我基本上有一个函数p(1-p)^(i-1)
,我需要绘制一个线图。我有一个坐标1-51的数组。我需要使用该函数获取相应的y坐标。 我也试过:p(1-p)**(i-1)
,但那也没有奏效。
这是我的全码:
def test():
p = 0.2
plt.figure(1)
#create x coordinates [1-51]
xcoord = [i for i in range(1,51)]
#create y coordinates from formula
ycoord = [math.pow(p(1-p),(i-1)) for i in range(1,51)]
plt.plot(xcoord,ycoord)
plt.draw()
plt.show()
test()
你有'P(1-P)''那里是p'一个'float',你想做什么? –
在Python(以及我所知道的大多数其他计算机语言)中,'p(1-p)'并不意味着'p'次'(1-p)'。你必须明确写出乘法运算符。即:'p *(1-p)'。 _不像许多其他语言,Python中的指数运算符是写成'**'而不是'^'。 – martineau