diff --git a/app/utils.py b/app/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..f7a9d257b3cf09639656011945b33b46e4958e09 --- /dev/null +++ b/app/utils.py @@ -0,0 +1,17 @@ +from itertools import zip_longest + + +def map_values_to_int(values: dict): + values = [map(int, i) for i in list(values.values())] + return zip_longest(*values, fillvalue=None) + + +def calculate_mean(values: list) -> float: + n_answers = sum(x is not None for x in values) + sum_of_answers = float(sum(filter(None, values))) + mean = sum_of_answers / n_answers + return round(mean, 2) + + +def get_mean_from_slider_answers(answers): + return [calculate_mean(values) for values in map_values_to_int(answers)]