Заставьте ipywidget.interact принимать аргументы ndarrayPython

Программы на Python
Ответить
Anonymous
 Заставьте ipywidget.interact принимать аргументы ndarray

Сообщение Anonymous »

Я не смог найти именно мой сценарий в других вопросах, пожалуйста, перенаправьте меня, если считаете нужным, но:
У меня есть функция с аргументами переменной длины, которую я проверяю внутри и выполняю на ее основе различные действия. Однако в конечном итоге у меня должно быть 10 значений: ndarray, равный 5 для qs, и такой же для dqs, и они мне нужны отдельно, потому что я отправляю их на физическое оборудование.

Код: Выделить всё

def function(self, *args, val: float):

if len(args) == 1 and isinstance(args[0], np.ndarray) and len(args[0]) == 5:
qs = args[0]
dqs = [1]*5
elif len(args) == 2 and all(isinstance(lst, np.ndarray) and len(lst) == 5 for lst in args):
...
elif len(args) == 5:
...
elif len(args) == 10:
...
else:
raise ValueError
Как я могу затем вызвать взаимодействие с ним, в основном с 10 ползунками для аргументов и 1 для значения? я все время попадаю в ветку ValueError.
Это не работает, просто приведите это в качестве примера, который, по моему мнению, имел бы смысл. Вместо этого len(args) возвращает 0.

Код: Выделить всё

interact(function, args= np.array([0,0,0,0,0]), val=(0,100))
Спасибо, любая идея приветствуется

Подробнее здесь: https://stackoverflow.com/questions/798 ... -arguments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»