Я создаю программу оценки учеников: она начинается в режиме ввода и запрашивает имя, возраст, научную оценку, математику и класс английского языка.
Тогда есть несколько возможных действий: добавьте учеников, добавьте школьные классы, распечатайте каждого добавленного студента и - распечатайте самые низкие результаты по самым высоким результатам в разных предметах. Это последнее действие - это то, с чем я столкнулся.Как отсортировать список строк и список чисел, связанных, в python?
В чем я вхожу, когда пользователь вводит «4» в главное меню, пользователь спрашивает, хочет ли он отображать результаты математики, физики или английского языка студентов. Когда пользователь указывает, что они хотят, чтобы отобразить, будет произведено что-то вроде следующего:
Jill: 3
Marvin: 4
Jack: 6
Raf: 80
Я знаю, как сортировать по номерам с функцией сортировки(), но как я делаю «Джил» идти в то же место, что и «3» в списке.
Это так что я могу сделать что-то вроде этого:
for p in range(len(allStudents)):
print(allStudents[p].printName(), ":" , mathsAll[p] , "/100")
Я знаю, что я мог бы использовать словарь для этого, но тогда давайте говорить вход I 2 пользователей называется «Jill», то он будет перезаписывать первый один.
полный код можно найти по адресу: http://pastebin.com/R2uGAQVg Любая помощь была бы принята с благодарностью!
Определенно вам нужно предоставить образец ввода и вывода. –
Я не могу догадываться о структуре данных, которую вы используете, но я подозреваю, что она субоптимальна. Расскажите, с чем вы работаете, и, возможно, мы можем предложить лучшую структуру, которая упростит эти задачи. – TigerhawkT3
Я сделаю программу более простой. Просто притворись, что есть меню, которое может получать только 2 входа, если пользователь вводит 1, тогда пользователю будет предложено ввести: Там научный класс, их математический класс и их английский класс и имя ученика.Если пользователь вводит 4, он будет предлагать пользователю ввести либо 1) математику 2) науку 3) английский. Если пользователь вводит 1, тогда он отобразит всех студентов, все математические результаты которых будут получены от самого низкого до самого высокого. Я не могу просто создать dict, потому что, если я вводим одно и то же имя дважды, он будет перезаписан. Итак, как вы создаете dict, который не перезаписывается. – mre12345