Дан список из 20 элементов, созданный при помощи my_list = [(lambda x:(x*87+12)%100)(i)...

0 голосов
122 просмотров

Дан список из 20 элементов, созданный при помощи
my_list = [(lambda x:(x*87+12)%100)(i) for i in range(20)]
доставая из него значения при помощи операции
x = my_list.pop()
и проверяя длину оставшегося списка через
len(my_list),
найти среднеквадратическое отклонение (среднеквадратичную ошибку среднего арифметического) при помощи однопроходного алгоритма. (Будьте внимательны, "среднеквадратическое отклонение" и "стандартное отклонение" отличаются друг от друга.)
Введите ответ с точностью до пятого знака после запятой.


Информатика (71 баллов) | 122 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
from math import sqrt

my_list = [(lambda x: (x * 87 + 12) % 100)(i) for i in range(20)]

s = 0
s2 = 0
n = len(my_list)

while len(my_list):
        x = my_list.pop()
        s += x
        s2 += x ** 2

print(round(sqrt(s2 / n - (s / n) ** 2), 5))



(166 баллов)
0

Решение неверное. Подсказка Если не получается решить задачу однопроходным алгоритмом, решите её за два прохода.
Прочитайте что такое среднеквадратическое отклонение, если это было не понятно из занятия.

0

нет