У меня есть словарь, в котором есть ключ для имен и пустые списки для значений.у меня есть генератор случайных чисел для гипотетической оценки.например (имя:, [,,,,,,]) (тест оценивается от 0 до 100) я пытаюсь назначить 6 различных тестов разному количеству людей.Затем я бы использовал алгоритм, который я сделал, чтобы получить общий балл за их результаты и поставить их сверху вниз.Я, вероятно, использую что-то в этих алгоритмах, которые я сделал, но в настоящее время я пытаюсь понять, как присвоить значения списку.Это код для определения общего балла серии в соответствии с действительными числовыми тестами.
def series_score(y,choice):
while choice >1:
y[1].remove(max(y[1]))
choice =choice - 1
x = sum(y[1]) - max(y[1])
return x
это тип сортировки, который я бы использовал
results = [('Alice',[1, 2, 1, 1, 1, 1]),
('Bob', [3, 1, 5, 3, 2, 5]),
('Clare',[2, 3, 2, 2, 4, 2]),
('Dennis', [5, 4, 4, 4, 3, 4]),
('Eva', [4, 5, 3, 5, 5, 3])]
def sort_series(results):
return sorted(results, key=lambda order: (sum(order[1]), order[0]))
print(sort_series(results))
, а затемслучайное число gen из предыдущих данных, используя кривую колокольчика, где люди могут попасть в тест:
import csv
import random
import operator
def sort_dis_data():
f = open('data.csv','r')
reader = csv.reader(f)
new_dict = {}
for row in reader:
new_dict[row[0]] = random.gauss(float(row[1]), float(row[2]))
order_list = sorted(new_dict, key =lambda k: new_dict[k], reverse = False)
return order_list
любая помощь будет большой.