Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21

Матрично-векторное умножение. ValueError

23.07.2022, 10:12. Показов 2205. Ответов 9

Студворк — интернет-сервис помощи студентам
При выполнении учебного задания вылазит ошибка "ValueError: setting an array element with a sequence" в 11 строке. Входные данные: a=1 2 b=1 2, 3 4 (записаны в виде 1 2 | 12, 34). При обычном запуске программа выдаёт [5.0, 11.0], что совпадает с верным ответом. Но при отправке на автоматическую проверку возникает вышеуказанная ошибка.
Python
1
2
3
4
5
6
7
8
9
10
11
a, b = input().split('|')
a = list(map(float, a.split()))
b =[list(map(float, e.split())) for e in b.split(',')]
 
# изменяйте только этот код
if len(a)!=len(b):
    print('error')
else:
    import numpy as np
    mv=np.matmul(b,a)
    print(list(mv))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2022, 10:12
Ответы с готовыми решениями:

Матрично-векторное умножение с использыванием технологии OpenMP
Добрый вечер. В универе начали проходить предмет по распараллеливанию вычислений. Дали задание на использование технологии OpenMP в...

Многопоточное матрично-векторное произведение
Доброго времени суток. Хочу написать многопоточный вариант матрично-векторного произведения. Единственное, что приходит на ум, - в методе...

Матрично-векторное произведение без хранения матрицы
Добрый день! Подскажите, пожалуйста, как написать handle функцию матрично-векторного произведения без хранения матрицы A с использованием...

9
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,762
23.07.2022, 11:09
Rina2328, логично. У вас в записи чисел 1 и 2 пропал пробел, и получилось 12. С 3 и 4 тоже самое.
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21
23.07.2022, 12:42  [ТС]
При выполнении учебного задания вылазит ошибка "ValueError: setting an array element with a sequence" в 11 строке. Входные данные: a=1 2 b=1 2, 3 4 (записаны в виде 1 2 | 1 2, 3 4). При обычном запуске программа выдаёт [5.0, 11.0], что совпадает с верным ответом. Но при отправке на автоматическую проверку возникает вышеуказанная ошибка.
Python
1
2
3
4
5
6
7
8
9
10
11
a, b = input().split('|')
a = list(map(float, a.split()))
b =[list(map(float, e.split())) for e in b.split(',')]
 
# изменяйте только этот код
if len(a)!=len(b):
    print('error')
else:
    import numpy as np
    mv=np.matmul(b,a)
    print(list(mv))
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21
23.07.2022, 12:47  [ТС]
Это моя опечатка. Набор данных после первой строки выглядит так: 1 2|1 2,3 4
После 2 и 3 a и b преобразуются в листы. a=[1,2], b=[[1,2],[3,4]]
0
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,762
23.07.2022, 13:21
Rina2328, а в условиях задачи говорится, что можно использовать numpy?
Напишите условие задачи так, как они даны.
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21
23.07.2022, 13:28  [ТС]
《На вход система подает матрицу W (список из списков с float) и вектор входных данных (список из float). Вам необходимо реализовать матрично-векторное умножение (по сути скалярное произведение между каждой строкой матрицы W и вектором входных данных. Результаты записать в список и отобразить на экран.

В случае, если количество столбцов (размер любой строки матрицы W) не равен размеру вектора входов - вывести "error".》
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
23.07.2022, 13:40
Так вы сравниваете размер списков a и b. А нужно сравнивать размер списка a с размером каждого списка в списке b
1
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21
23.07.2022, 14:28  [ТС]
numpy использовать разрешается, так как предыдущее подобное задание (вместо матрицы был вектор) решилось как раз через numpy

Добавлено через 5 минут
Можете показать, как это сделать?

Добавлено через 42 минуты
Попробовала len(a)!=len(b[0])
Снова при обычном запуске решение верное, при отправке та же ошибка.
К слову пробовала преобразовать а и b в numpy-массивы и использовать dot. Ошибка другая: 《TypeError: can't multiple sequence by non-int of type "float"》
Python
1
2
3
4
5
6
7
if len(a)!=len(b[0]):
    print('error')
else:
    import numpy as np
    a=np.array(a)
    b=np.array(b)
    mv=(b.dot(a)).tolist()
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
23.07.2022, 15:26
Лучший ответ Сообщение было отмечено Rina2328 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a, b = input().split('|')
a = list(map(float, a.split()))
b =[list(map(float, e.split())) for e in b.split(',')]
 
# изменяйте только этот код
ln = len(a)
if not all(ln==len(item) for item in b):
    print('error')
else:
    mv = []
    for item in b:
        sp = 0
        for i in range(ln):
            sp += item[i]*a[i]
        mv.append(sp)
    print(mv)
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 21
23.07.2022, 16:38  [ТС]
Спасибо большое, через for приняли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2022, 16:38
Помогаю со студенческими работами здесь

Векторное умножение векторов
Как умножить два N-мерных вектора? Примечание: необходимо найти координаты , а не модуль получившегося вектора...

создание, сложение, вычитание векторов, скалярное и векторное умножение векторов
Есть задание по курсовой работе: надо разработать классы для реализации операций векторной алгебры: создание, сложение, вычитание...

Интерполяция точек, заданных матрично
Добрый день, коллеги! Появилась задача интерполировать функцию по заданным точка для дальнейшего нахождения различных физических величин...

Матрично-векторные параметры - МАИРЭС
В контрольной работе по указанной дисциплине дана схема (неинвертирующего усилителя на ОУ). Нужно использовать контурный базис. И...

Нейросети. raise ValueError("The passed save_path is not a valid checkpoint: " + ValueError: The passed save_path is not
Здравствуйте! Столкнулся с проблемой которую не могу решить. Подскажите пожалуйста в чем может быть проблема и как ее исправить ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru