使用numpy对两个输入值相加时出现UFuncTypeError错误如何解决
问题根因
- 你通过
input()获取的用户输入默认是字符串类型,经过split()拆分后得到的x、y仍然是字符串,并非数值类型 np.add()仅支持数值类型的加法运算,传入字符串会触发类型不匹配的UFuncTypeError报错
修复方法
将拆分得到的字符串转换为数值类型即可:如果需要支持小数输入就转float,仅需要整数输入就转int。修正后的代码如下:
import numpy as np x, y = input("Insert value").split() # 转换为浮点型数值,兼容整数、小数输入 x = float(x) y = float(y) print(x) print(y) print(np.add(x,y))
如果确定输入都是整数,也可以直接在拆分时完成批量转换:
import numpy as np x, y = map(int, input("Insert value").split()) print(x) print(y) print(np.add(x,y))
运行验证
输入4 3后运行输出如下:
4.0 3.0 7.0
(如果使用int转换,输出为4、3、7)
内容的提问来源于stack exchange,提问作者curiouz
相关产品推荐
相关产品推荐

