Ошибка здесь:
grades_list=[]
for i in range(N):
grades_list.append(physics_students[i][1])
grades_list.sort()
grades_list.remove(min(grades_list))
Дескриптор проблемы HackerRank
Примечание: Если есть несколько учеников с с одинаковым классом , закажитеих имена в алфавитном порядке и печатать каждое имя в новой строке. Акцент мой
Теперь рассмотрим, было ли несколько учеников с одинаковой низшей оценкой.Скажем, оценки были [1, 1, 2, 3]
.Это становится вашим отсортированным grades_list
.
Теперь, что происходит, когда вы звоните .remove()
?
>>> grades_list.remove(min(grades_list))
>>> print(grades_list)
[1, 2, 3]
Итак, вы видите, что min
не полностью удален.
Есть несколько способов решить эту проблему, но я хочу оставить реализацию вам, поскольку это довольно хорошее упражнение.
Спойлер:
Прочие вопросы
N=int(input("enter number of students in the range of 2 to 5"))
Там не должно быть подсказки.Это испортит стандартный вывод, и HackerRank пометит его как неправильный.
print("name",physics_students[i][0])
Это также.Вы можете удалить name
.:)