Формула для расчета моды:
d = dict() - создаем пустой словарь
mx = 0 - максимальное значение. оно нам понадобится для того, чтобы посчитать максимально кол-во вхождения элемента
elem = 0 - кол-во вхождений каждого элемента
for i in a_list: - для каждого элемента, входящего в список
d[i] = d.get(i, 0) + 1 - ищеь элемент "i" в словаре. Если находит его, до добавляет единицу, если нет, то добавляет ноль в словарь d
if d[i] > mx: - если в словаре d значение больше чем в mx
mx = d[i] - то mx принимает значение d
elem = i - d[i], где i это элемент, повторяющийсяя чаще всего (соответственно мода), присваивается ввиде значения переменной elem
print('мода:', elem) - вывод ответа
Формулы для расчета дисперсии и стандартного отклонения:
disp1 = sum((x-(sum(f_list)/len(f_list)))**2 for x in f_list) - в числитиле формулы надо найти сумму разностей между каждым элементом набора данных Х и средним арифметическим всего этого набора. После этого надо возвести полученное число в квадрат
disp2 = disp1/len(f_list) - и разделить на количество элементов. Получаем дисперсию.
print('дисперсия:',disp2) - выводим дисперсию
print('стандартное отклонение:', disp2**0.5) - стандартное отклонение это корень из дисперсии. Я возвел значение дисперсии в степень 0.5, что равно возведению под корень