2014-11-23 4 views
-1
  • У меня есть текстовый файл с 2 колонками данных (имя студента и счет), разделенных символом «:» (смотрите ниже)
  • Я хотел бы, чтобы пользователь способный сортировать текстовый файл в алфавитном порядке по имени и распечатывать эти отсортированные данные, а также их наивысший соответствующий балл до IDLE
  • Я также хотел бы дать пользователю возможность сортировать оценки от наивысшего до самого низкого и распечатать это наряду с их именами
  • Наконец, я хотел бы дать им возможность сортировать и распечатывать данные с самого высокого до самого низкого, исходя из среднего балла каждого учащегося.

Текстовый файлСортировка и печать текстового файла в Python праздного

Alex:2 
Steve:3 
Andy:4 
Wallace:6 
Andy:3 
Andy:5 
Dan:1 
Dan:0 
Steve:3 

Я попытался добавить имена в список, а затем делать вид на числовых данных, но у меня не было никакой удачи.

Любая помощь с этим была бы весьма признательна.

+0

Это вопрос о домашнем задании школы? –

+0

№ Просто пытаюсь научить себя питону – baconstripsboss

+0

Ваш вопрос слишком общий. По крайней мере, сузите то, что вы пытаетесь сделать, и добавьте образец кода, который вы написали, в попытке решить проблему. –

ответ

0

Просто, чтобы вы начали:

Вы должны связать имена и оценки. Для этого будет использоваться кортеж (имя, оценка). Таким образом, вы можете обработать файл следующим образом:

gradebook = list() 
with open('scores.txt') as infile: 
    for line in file: 
     line = line.split(':').rstrip() 
     gradebook.append((line[0], line[1])) 

Теперь вы можете отсортировать книгу по любой колонке. (Посмотрите на встроенную сортировку)

Когда вы хотите работать со средними значениями, я думаю, вы найдете самый простой способ сделать это с помощью dict.

+0

отличное спасибо – baconstripsboss

Смежные вопросы