#python #numpy #input
Вопрос:
Я пытаюсь написать входной код, который может объединить 2 вывода и сложить их вместе. Код приведен ниже;
import numpy as np x, y = input("Insert value").split() print(x) print(y) print(np.add(x,y))
Выход:
4 3 --------------------------------------------------------------------------- UFuncTypeError Traceback (most recent call last) lt;ipython-input-10-d7826b294c37gt; in lt;modulegt; 4 print(x) 5 print(y) ----gt; 6 print(np.add(x,y)) UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('lt;U1'), dtype('lt;U1')) -gt; dtype('lt;U1'
Я пытаюсь добавить 3 и 4, используя функцию numpy, добавить, но это показывает и выдает ошибку. Кто-нибудь может помочь в этом? Как я могу сложить оба вывода, используя такой входной код?
Комментарии:
1. Это не подходящее использование
np.add()
, которое принимает аргументы, подобные массиву, и добавляет их по элементам. Что вам нужно сделать, так это преобразовать строковые входные данные в числовой тип, а затем выполнить сложение с помощьюоператора.
Ответ №1:
Вы не сказали Python преобразовать ваши входные данные, которые являются строками, в числа. Если вы наберете целые числа, ваш код будет работать:
import numpy as np x, y = input("Insert value").split() print(x) print(y) print(np.add(int(x),int(y)))
Комментарии:
1. Уже пробовал, все еще ошибка.
2. Это та же самая ошибка?
3. ДА. Я попытался изменить его на
int(x) int(y)
, и он хорошо работает.