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';)
基础教程推荐
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 包装空间模型 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
