Используя 2 ввода в одной строке, чтобы сложить значение

#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) , и он хорошо работает.