Найти - Пользователи
Полная версия: Выдает ошибку в тесте
Начало » Python для новичков » Выдает ошибку в тесте
1
ElmarB
Задача
Одной из важнейших операций в линейной алгебре, аналитической геометрии, математическом анализе, анализе данных, искуственном интеллекте, компьютерной графике и в огромном количестве других областей математики и информатики является вычисление скалярного произведения двух векторов.

Вычисляется скалярное произведение, как сумма произведений соответствующих компонент векторов.

В данной задаче вам необходимо написать функцию dot_product(N, vector1, vector2) , вычисляющую скалярное произведение для двух заданных векторов одинаковой размерности N .

Обратите внимание: в решении должно быть только объяевление одной функции dot_product и никакого другого кода.

Аргументы функции
Функция принимает в качестве аргументов размерность пространства N и 2 вектора. Гарантируется, что размерности векторов совпадают. Векторы заданы списками длины N .

Возвращаемое значение
Функция должна возвращать одно число – скалярное произведение заданных векторов.

Примеры
>> print(dot_product(3, (1,2,3), (1,2,3))
14
>> print(dot_product(3, (1, 2, 3), (4, 5, 6))
32

Мое решение:
Не врубаюсь как выложить код???

Проблема, что не могу пройти тест из-за ошибки, хотя результаты тестирования вроде в порядке.
ElmarB
Вот тест
ElmarB
 def dot_product(vector1, vector2):
	scalar_product_of_vector = 0
	for i in range(len(A)):
		scalar_product_of_vector += B[i]*A[i]
	return scalar_product_of_vector
A = [int(x) for x in input().split()]
B = [int(y) for y in input().split()]
print(dot_product(A, B))
PEHDOM
предполагаю что изза того что
ElmarB
Обратите внимание: в решении должно быть только объяевление одной функции dot_product и никакого другого кода.
уберите все что вне функции и скормите автотетсту только функцию, без всех этих input().split() и принтов.
ElmarB
PEHDOM
предполагаю что изза того что
Спасибо, теперь всё заработало.
ElmarB
Другое задание
Последний тест 10 выдает ошибку, связанную с памятью. MemoryError

Задача:
В некотором физическом эксперименте показания прибора снимались с частотой 5 измерений в секунду. Эксперимент проводился в течение довольно большого времени, и в результате накопилось очень много данных. Ученых, которые проводили данный эксперимент, очень интересует, какое максимальное значение измеряемой величины достигалось во время измерения. Но вот беда: на остановку установки также требуется секунда времени, и в течение этого времени с установки могут приходить совершенно любые значения величины. В связи с этим, показания последних 5 измерений учитывать при поиске максимального значения не следует.

Вам необходимо написать программу, которая в данном потоке чисел заранее неизвестной длины находит максимальное значение, отбрасывая при этом последние 5 измерений.

Формат входных данных
На вход вашей программе передается последовательность натуральных чисел – результаты измерений. Каждое новое число передается с новой строки. Гарантируется, что длина входной последовательности не меньше 6 и не превосходит 10 9 . На конце последовательности передается число 0.

Формат выходных данных
Программа должна вывести на экран одно число – максимальное значение входной последовательности за исключением последних 5 элементов.

Примеры
Ввод
1
2
3
4
5
6
0
Вывод
1

Ввод
1
5
2
15
373
232
43
21
5433
5312
0
Вывод
373

То что я написал

[code python]N = int(input())
A = []
max = 0
while N != 0:
A.append(N)
N = int(input())
n = len(A)

for i in range(0, n-5):
if A[i] > max:
max = A[i]

print(max)[/code]

Последний тест номер 10 выдает ошибку MemoryError.

Я так понимаю, что ему не нравится что то в линии 7, n=len(A).
Что можно исправить, усовершенствовать что бы этой ошибки не было?
py.user.next
ElmarB
Другое задание
Последний тест 10 выдает ошибку, связанную с памятью. MemoryError
Эту задачу решали уже. И она делается не через накопление всех элементов, а через использование буфера на пять элементов.
Dark097
ElmarB
можешь показать код у меня тоже такое задание, никак не получается
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB