Вот подробное решение задачи и пошаговый алгоритм.
Цель задачи
- Найти в порядке списка первого ученика, у которого оценка равна X.
Пошаговый разбор
- Разделить первую строку на список ФИО учеников. Очистить лишние пробелы вокруг каждого имени.
- Пример: "Иванов Иван, Петрова Анна, Сидоров Петр" → ["Иванов Иван", "Петрова Анна", "Сидоров Петр"]
- Разделить вторую строку на список оценок в том же порядке. Привести каждую оценку к целому числу.
- Пример: "4, 5, 4" → [4, 5, 4]
- Прочитать третью строку и привести её к целому числу X.
- Пройти по индексам в диапазоне от 0 до min(len(ФИО), len(оценки)) и найти первый индекс i, для которого оценки[i] == X.
- Вывести имя ученика с этим индексом: ФИО[i].
- Если таких учеников нет (нет подходящих оценок), можно вывести пустую строку или сообщение об отсутствии. Обычно предполагается, что таких учеников хотя бы один.
Пример Ввод: Иванов Иван, Петрова Анна, Сидоров Петр 4, 5, 4 4
Вывод: Иванов Иван
Простой пример реализации на Python (читается из стандартного ввода)
- Читаем три строки.
- Парсим имена и оценки.
- Находим первый индекс с оценкой X и печатаем соответствующее имя.
Пример кода (на Python) без использования дополнительных библиотек: names_line = input().strip() grades_line = input().strip() x_line = input().strip()
names = [n.strip() for n in names_line.split(',')] grades = [int(g.strip()) for g in grades_line.split(',')] X = int(x_line)
found = False for i in range(min(len(names), len(grades))): if grades[i] == X: print(names[i]) found = True break
if not found: # Если таких учеников нет, можно оставить пустую строку или вывести сообщение. print()
Важно
- Если в строках могут встречаться лишние пробелы вокруг запятых, используйте split(',') с последующим strip().
- Предполагается, что в первой и второй строках числа идут в одном и том же количестве и в нужном формате. Если количество учеников в строках не совпадает, алгоритм обрабатывает до минимальной длины списков.