2017-02-22 3 views
-2

Привет Я новичок в программировании, и я пытаюсь написать программу, которая принимает список имен студентов и сортирует их для создания рулона класса. Список имен будет указан на одной строке, разделенной одним пробелом. Он находится в алфавитном порядкеСортировка списка студентов

Это то, что я хочу, чтобы результат выглядел.

Это мой текущий код ниже, и я не уверен, почему он продолжает возникать с ошибками.

names = input('Students: ') 

print('Class Roll') 

    output = names.sort() 

print(output) 
+0

Это поможет, если вы действительно можете сказать нам, что эти ошибки: – Sayse

+1

'output = names.sort()' => 'output = sorted (names.split())'. 'sort' работает на месте,' output' будет 'None' –

+1

какие ошибки? Пожалуйста, прочитайте [mcve], чтобы мы могли помочь найти решение. – MSeifert

ответ

-1

Вы никогда не расколоть вход друг от друга, так что нет ничего, чтобы отсортировать

names = names.split() 
names.sort() 
+0

Это приводит к тому, что классный ролик не говорит ни слова, даже если вы вводите имена в ввод студентов. – cars

+0

@cars - Ну да ... вам больше не нужно использовать переменную 'output' ... Есть еще некоторая работа, необходимая для сделайте здесь, чтобы перебирать имена для вашего вывода, но я подумал, что это не относится к основной проблеме. – Sayse

-1

Вот несколько проблем, которые я вижу с вашим кодом

  1. вход читается как попробуйте, вы должны разделить это на отдельные имена.
  2. sort работает на месте, возвращается Нет

Вы можете сделать следующее

  1. Изменить команду ввода в names = input('Students: ').split(' ')
  2. print(names) вместо выхода

EDIT

Чтобы напечатать их так, как показано в вопрос делаем

for name in names: 
    print(name) 
+0

Этот код работает, но он печатает их в одной строке, подобной этой ['Fred', 'Bob'] Если вы перейдете наверх на вопрос, который я показал, что я пытаюсь сделать код похожим – cars

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