Интересная задачка. Толком я пока с телефона, так что на скорую руку что-то написал, потом подправлю
#фамилию, имя, возраст и рост.
Users = [input('Введите данные ученика: ') for x in range(int(input('Введите количество учеников: ')))]
print([x for x in Users if str(sorted([int(x.split(' ')[-1]) for x in Users])[1]) in x.split(' ')[-1]][0])
Логика работы, создаёт новый список, с int значениями роста, далее sorted сортирует по увеличению, далее использует второй в данном списке элемент со значением роста. И потом выводит первый попавшийся ответ, в котором значение роста написанное в конце, совпадает с полученным прежде значением