Ответы, предоставленные the-fury и Martin Cote, фиксировали проблему бесконечного цикла, но мой код все равно не работал бы корректно (для большего списка он не будет правильно сортироваться.). Я закончил тем, что перебрал переменную unsorted
и использовал счетчик вместо этого.
def bubble(badList):
length = len(badList) - 1
n = 0
while n < len(badList):
for element in range(0,length):
if badList[element] > badList[element + 1]:
hold = badList[element + 1]
badList[element + 1] = badList[element]
badList[element] = hold
n = 0
else:
n += 1
return badList
if __name__ == '__main__':
mylist = [90, 10, 2, 76, 17, 66, 57, 23, 57, 99]
print bubble(mylist)
Если кто-нибудь мог бы указать какие-то указатели на то, как улучшить код в комментариях, это было бы очень полезно.
Боюсь, у вас есть проблема с данными.
Вы не можете извлечь заметку из этого студента, потому что у вас ее нет. Единственное, что приходит мне в голову, это то, что вы можете переориентировать свою проблему и сделать следующее:
Создать LSTM, который оценивает предметы студента.
Создайте сеть, которая сравнивает вас с другим учеником и сообщает вам, лучше это или хуже (через шаг 1). Он известен как сиамская сеть.
У вас есть то, что сказано LSTM сиамский.
Что вы могли бы сделать в прогнозировании, так это узнать, имеет ли студент, основанный на оценках по предметам, лучше или хуже, чем другой студент.
РЕДАКТИРОВАТЬ :
Может быть полезна одна архитектура, похожая на эти.
Используйте LSTM для получения информации о любом предмете и соответствующей отметке.
Когда информация сгущена, я объединяю эту информацию и ученика в горячем виде.
Мы используем Dense или множественную плотность, чтобы получить отметку с сигмовидной активацией в последнем слое.
Мы используем функцию потерь, чтобы максимизировать ноту a относительно b, когда a лучше, чем b. И иначе.
y_i - ваша цель в 1 o -1. 1, если ученик а лучше ученика b, и -1, если ученик а хуже ученика b.
Я никогда не пробовал этот тип функции потери, поэтому я не могу сказать вам, работает она или нет. Он основан на потере, которую использует SVM: https://en.wikipedia.org/wiki/Support-vector_machine
Может быть, другой пользователь может помочь вам лучше.