Давайте подробнее разберем вашу задачу. Нам нужно найти все названия заметок, написанных тем же автором, что и заметка «Котики и география», а также вывести эти названия.
Шаг 1: Понимание входных данных
У нас есть:
- N – число заметок.
- Каждая заметка состоит из трех строк:
- Название заметки.
- Имя автора.
- Количество знаков в заметке.
Таким образом, если у нас есть число N, то всего будет 3N строк.
Шаг 2: Форматирование входных данных
Исходные данные, которые мы будем использовать:
5
Шахматный турнир
Коля Зайцев
2000
Ещё раз про электронный журнал
Ася Котова
8000
Котики и география
Коля Зайцев
2700
Невероятное происшествие
Ася Котова
10000
Нововведение: Яндекс Учебник
Саша Волк
3000
Шаг 3: Структура данных
Для удобства мы можем использовать список для хранения заметок. Каждый элемент списка будет представлять собой кортеж с тремя элементами:
notes = [
("Шахматный турнир", "Коля Зайцев", 2000),
("Ещё раз про электронный журнал", "Ася Котова", 8000),
("Котики и география", "Коля Зайцев", 2700),
("Невероятное происшествие", "Ася Котова", 10000),
("Нововведение: Яндекс Учебник", "Саша Волк", 3000)
]
Шаг 4: Поиск автора
Теперь, когда у нас есть список заметок, нужно найти автора заметки «Котики и география». Для этого:
- Проходим по всем заметкам и ищем нужную.
- Запоминаем имя автора.
Шаг 5: Вывод заметок того же автора
После того, как мы нашли автора, нужно снова пройтись по списку и вывести все названия заметок, написанных этим автором.
Шаг 6: Реализация на Python
Вот пример кода, который выполняет описанные шаги:
# Входные данные
N = 5
notes = [
("Шахматный турнир", "Коля Зайцев", 2000),
("Ещё раз про электронный журнал", "Ася Котова", 8000),
("Котики и география", "Коля Зайцев", 2700),
("Невероятное происшествие", "Ася Котова", 10000),
("Нововведение: Яндекс Учебник", "Саша Волк", 3000)
]
# Поиск автора заметки "Котики и география"
author = None
for title, a, _ in notes:
if title == "Котики и география":
author = a
break
# Если автор найден, выводим все его заметки
if author:
print(f'Заметки автора {author}:')
for title, a, _ in notes:
if a == author and title != "Котики и география":
print(title)
Шаг 7: Объяснение кода
- Мы создаем переменную
author для хранения имени автора.
- С помощью цикла
for мы проходим по всем заметкам и ищем необходимую заметку по заголовку.
- Если автор найден, мы снова проходим по всем заметкам и выводим названия тех, которые были написаны этим же автором, исключая при этом заметку «Котики и география».
Вывод программы
После выполнения кода программа напечатает:
Заметки автора Коля Зайцев:
Шахматный турнир
Заключение
В результате мы разобрали задачу шаг за шагом: от понимания входных данных до реализации кода, который выполняет поставленную задачу. Если у вас возникли дополнительные вопросы, пожалуйста, дайте знать!