I am new to coding but I am trying to create a really simple program that will basically plot a line. The user will input values for v and a then v and a and x will determine y. I attempted to do this with this:
x = np.linspace(0., 9., 10)
a = raw_input('Acceleration =')
v = raw_input('Velocity = ')
y=v*x-0.5*a*x**2.
basically this will represent a parabola where v is velocity, a is acceleration and x is time. But, I keep getting this error:
TypeError: ufunc 'multiply' did not contain a loop with signature matching types dtype('S32'
) dtype('S32') dtype('S32')
Rohit Patel
From the documentation of
raw_input
:So what happens is that you try to multiply a string with a float, something like
y="3" * x - 0.5 * "3" *x**2
, which is not defined.The easiest way to circumvent this is to cast the input string to float first.
Mind that if you’re using python 3, you’d need to use
input
instead ofraw_input
,