Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3704663
А
Аноним
01 октября 2026 13:52 · публичный вопрос
А
Аноним

Есть число учеников N и 2N записей: имя в одной строке, оценка за урок в другой. Составь и выведи список учеников, чья отметка выше средней арифметической. Ввод Вывод 6 Петя 4 Алина 3 Рома 3 Катя 5 Маша 5 Серёжа 4 [Катя, Маша]

Нейросеть01 октября 2026 13:52

Краткий ответ — решение на Python:

import sys

data = sys.stdin.read().splitlines()

n = int(data[0])
students = []
total = 0

for i in range(n):
    name = data[1 + 2 * i].strip()
    grade = int(data[2 + 2 * i].strip())

    students.append((name, grade))
    total += grade

average = total / n

answer = [name for name, grade in students if grade > average]

print("[" + ", ".join(answer) + "]")

Как это работает:

  1. Сохраняем имя и оценку каждого ученика.
  2. Складываем все оценки.
  3. Находим среднее: \[ \text{среднее}=\frac{\text{сумма оценок}}{N} \]
  4. Оставляем только тех учеников, у кого оценка строго выше среднего.
  5. Выводим имена в нужном формате.

Для примера сумма оценок равна \(24\), а средняя оценка:

\[ 24 \div 6 = 4 \]

Оценку выше 4 имеют Катя и Маша, поэтому вывод:

[Катя, Маша]

Обсуждение

5 сообщений
А
Аноним

напиши более проше

А
Аноним

напиши более проше

Нейросеть
n = int(input())

names = []
marks = []

for i in range(n):
    names.append(input())
    marks.append(int(input()))

average = sum(marks) / n

result = []

for i in range(n):
    if marks[i] > average:
        result.append(names[i])

print("[" + ", ".join(result) + "]")

Сначала записываем имена и оценки, затем находим среднюю оценку и выводим тех, у кого оценка больше средней.

А
Аноним
Нейросеть

Это продолжение текущего задания. На изображении видно, что нужны кавычки вокруг имён.

Используй print(result), а не собирай строку вручную:

n = int(input())

names = []
marks = []

for i in range(n):
    names.append(input())
    marks.append(int(input()))

average = sum(marks) / n
result = []

for i in range(n):
    if marks[i] > average:
        result.append(names[i])

print(result)

Вывод будет таким:

['Катя', 'Маша']
Есть число учеников N и 2N записей: имя в одной строке, оценка за урок в другой. Составь и выведи список учеников, чья отметка выше средней арифметической. Ввод Вывод 6 Петя 4 Алина 3 Рома 3 Катя 5 Маша 5 Серёжа 4 [Катя, Маша]
**Краткий ответ — решение на Python:** ```python import sys data = sys.stdin.read().splitlines() n = int(data[0]) students = [] total = 0 for i in range(n): name = data[1 + 2 * i].strip() grade = int(data[2 + 2 * i].strip()) students.append((name, grade)) total += grade average = total / n answer = [name for name, grade in students if grade > average] print("[" + ", ".join(answer) + "]") ``` **Как это работает:** 1. Сохраняем имя и оценку каждого ученика. 2. Складываем все оценки. 3. Находим среднее: \[ \text{среднее}=\frac{\text{сумма оценок}}{N} \] 4. Оставляем только тех учеников, у кого оценка **строго выше** среднего. 5. Выводим имена в нужном формате. Для примера сумма оценок равна \(24\), а средняя оценка: \[ 24 \div 6 = 4 \] Оценку выше 4 имеют Катя и Маша, поэтому вывод: ```text [Катя, Маша] ```