Why do I get quot;ufunc #39;multiply#39; did not contain a loop with signature matching types dtype(#39;S32#39;) dtype(#39;S32#39;) dtype(#39;S32#39;)quot; with values from raw_input(为什么我得到的quot;ufunc#39;乘#39;不包含签名匹配类型为dtype(#39;s32#39;)的循环,其值来自raw_input(
问题描述
我正在尝试创建一个非常简单的程序,它将绘制抛物线,其中v是速度,a是加速度,x是时间。用户将输入v和a的值,然后v和a和x将确定y。
我尝试这样做:
x = np.linspace(0., 9., 10)
a = raw_input('Acceleration =')
v = raw_input('Velocity = ')
y = v * x - 0.5 * a * x**2.
但是,我一直收到此错误:
TypeError:ufunc‘Multiply’不包含签名匹配类型为dtype(‘s32’)的循环
这是什么意思?
推荐答案
来自documentation of raw_input:
然后该函数从输入读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。
因此发生的情况是,您尝试将字符串与浮点数相乘,类似于y="3" * x - 0.5 * "3" *x**2,这是未定义的。
避免此问题的最简单方法是先将输入字符串强制转换为浮点型。
x = np.linspace(0., 9., 10)
a = float(raw_input('Acceleration ='))
v = float(raw_input('Velocity = '))
y = v * x - 0.5 * a * x**2
请注意,如果您使用的是Python 3,则需要使用input而不是raw_input,
a = float(input('Acceleration ='))
这篇关于为什么我得到的";ufunc';乘';不包含签名匹配类型为dtype(';s32';)的循环,其值来自raw_input(';s32';)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么我得到的";ufunc';乘';不包含签名匹配类型为dtype(';s32';)的循环,其值来自raw_input(';s32';)
基础教程推荐
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
