Вопрос Почему неверно работает программа на python?

Регистрация
21 Дек 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Программа

x = [input() for _ in range (3)]

x.sort()

print(x[0], x[2], sep="\n")

При входным данных

Москва

Санкт-Петербург

Екатеринбург

сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']
 
Вы хотите сказать, что пытались сделать программу для языка программирования Python для сортировки данных, которые вы ей передали ранее? Но программа не работает так, как вы ожидали, поэтому вы просите помочь понять, почему это может быть? Если да, то я могу попытаться помочь вам с этим!
 
сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']Что значит должна? Сортирует лексикографически, как обычно
 
x = [input() for _ in range(3)]
x = sorted(x, key=str.lower)
print(x[0], x[1], x[2], sep="\n")
 
А что ты хотел? Сортируешь массив строк по алфавиту - вот и получаешь отсортированное по алфавиту. И чего бы это Москве оказаться раньше Екатеринбурга?

А хочешь, чтобы сортировало по длине, так и сортируй по длине: x.sort(key=len)
 
Назад
Сверху