В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Agetnor
Agetnor
30.06.2021 11:42 •  Информатика

Вводится несколько строк (не более 20), в которых сначала записаны инициалы и фамилии работников фирмы. Ввод
заканчивается пустой строкой. Отсортировать строки в
алфавитном порядке по фамилии.
Пример:
Введите ФИО:
А.Г. Урядников
Б.В. Тепловозов
В.Д. Арбузов

Список в алфавитном порядке:
В.Д. Арбузов
Б.В. Тепловозов
А.Г. Урядников
C++

Показать ответ
Ответ:
Diifekt
Diifekt
10.01.2024 15:33
Добрый день, дорогой ученик!

Чтобы решить данную задачу, нам потребуется использовать сортировку строк. В Python мы можем использовать метод сортировки списка `sort()`, и он должен быть нам весьма полезен.

Давай-ка начнем с ввода строк от пользователя. Для этого мы можем использовать цикл `while`, который будет выполняться до тех пор, пока пользователь не введет пустую строку. В каждой итерации цикла мы будем запрашивать у пользователя ФИО и сохранять его в списке. В итоге у нас получится список, содержащий все ФИО работников фирмы.

```python
# Создаем пустой список для хранения ФИО
fio_list = []

# Запрашиваем ФИО от пользователя
fio = input("Введите ФИО: ")

# Цикл для ввода ФИО пользователем (пока не будет введена пустая строка)
while fio != "":
fio_list.append(fio)
fio = input("Введите ФИО: ")
```

Теперь у нас есть список `fio_list`, содержащий все введенные ФИО. Для того чтобы отсортировать его в алфавитном порядке по фамилии, мы можем использовать метод `sort()` для списка. Однако, чтобы правильно сортировать строки с ФИО, нам потребуется задать необычный ключ сортировки.

У каждой строки ФИО есть формат "Инициалы Фамилия". Мы хотим отсортировать по фамилии, поэтому нужно указать методу `sort()` сортировать по отдельной части строки - фамилии. Для этого нам потребуется использовать функцию `lambda`, которая будет принимать строку ФИО и возвращать только фамилию (последнюю часть строки после пробела).

```python
# Сортировка списка по фамилии
fio_list.sort(key=lambda x: x.split()[1])
```

Теперь список `fio_list` отсортирован в алфавитном порядке по фамилии. Осталось только вывести его содержимое.

```python
# Вывод отсортированного списка
print("Список в алфавитном порядке:")
for fio in fio_list:
print(fio)
```

Таким образом, весь код для решения данной задачи выглядит следующим образом:

```python
# Создаем пустой список для хранения ФИО
fio_list = []

# Запрашиваем ФИО от пользователя
fio = input("Введите ФИО: ")

# Цикл для ввода ФИО пользователем (пока не будет введена пустая строка)
while fio != "":
fio_list.append(fio)
fio = input("Введите ФИО: ")

# Сортировка списка по фамилии
fio_list.sort(key=lambda x: x.split()[1])

# Вывод отсортированного списка
print("Список в алфавитном порядке:")
for fio in fio_list:
print(fio)
```

Надеюсь, моё пояснение было понятным и помогло тебе понять, как решить данную задачу. Если у тебя остались вопросы, не стесняйся задавать их! Я всегда готов помочь.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота