Вводится несколько строк (не более 20), в которых сначала записаны инициалы и фамилии работников фирмы. Ввод
заканчивается пустой строкой. Отсортировать строки в
алфавитном порядке по фамилии.
Пример:
Введите ФИО:
А.Г. Урядников
Б.В. Тепловозов
В.Д. Арбузов
Список в алфавитном порядке:
В.Д. Арбузов
Б.В. Тепловозов
А.Г. Урядников
C++
Чтобы решить данную задачу, нам потребуется использовать сортировку строк. В 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)
```
Надеюсь, моё пояснение было понятным и помогло тебе понять, как решить данную задачу. Если у тебя остались вопросы, не стесняйся задавать их! Я всегда готов помочь.