Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3563189
А
Аноним
09 февраля 2026 06:28 · публичный вопрос
А
Аноним

Результаты контрольной записаны в двух строках. В первой строке записаны фамилии и имена учеников, разделённые запятой и пробелом. Во второй — их оценки в том же порядке, что и…

Запрос пользователя

Результаты контрольной записаны в двух строках. В первой строке записаны фамилии и имена учеников, разделённые запятой и пробелом. Во второй — их оценки в том же порядке, что и фамилии. В третьей строке записано число X — интересующая учителя оценка. Выведите имя первого ученика по списку, который написал контрольную на оценку X.

Ответ нейросети
09 февраля 2026 06:28

Вот подробное решение задачи и пошаговый алгоритм.

Цель задачи

  • Найти в порядке списка первого ученика, у которого оценка равна X.

Пошаговый разбор

  1. Разделить первую строку на список ФИО учеников. Очистить лишние пробелы вокруг каждого имени.
    • Пример: "Иванов Иван, Петрова Анна, Сидоров Петр" → ["Иванов Иван", "Петрова Анна", "Сидоров Петр"]
  2. Разделить вторую строку на список оценок в том же порядке. Привести каждую оценку к целому числу.
    • Пример: "4, 5, 4" → [4, 5, 4]
  3. Прочитать третью строку и привести её к целому числу X.
  4. Пройти по индексам в диапазоне от 0 до min(len(ФИО), len(оценки)) и найти первый индекс i, для которого оценки[i] == X.
  5. Вывести имя ученика с этим индексом: ФИО[i].
  6. Если таких учеников нет (нет подходящих оценок), можно вывести пустую строку или сообщение об отсутствии. Обычно предполагается, что таких учеников хотя бы один.

Пример Ввод: Иванов Иван, Петрова Анна, Сидоров Петр 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().
  • Предполагается, что в первой и второй строках числа идут в одном и том же количестве и в нужном формате. Если количество учеников в строках не совпадает, алгоритм обрабатывает до минимальной длины списков.