Код БарсикОсновы Python
Основы Python›C11 · Теория

Теория · C11

Перебор списка и статистика

Разберись в теме, запусти пример и переходи к самостоятельным задачам.

РАЗБИРАЕМ ПО ШАГАМ

От идеи к работающему коду

Один проход по списку позволяет собрать полезную статистику. Сначала найдём сумму, количество и максимум вручную, затем сравним алгоритм со встроенными sum, min и max.

Сразу к запуску примера ↓
Барсик сравнивает результаты и выделяет наибольшее и наименьшее значения.
Барсик сравнивает результаты и выделяет наибольшее и наименьшее значения.
  1. 1Перебор элементов
  2. 2Накопление статистики
  3. 3Обработка пустого набора

1. Значения вместо индексов

В for value in values переменная value получает сам элемент списка. Индекс не нужен, если требуется только прочитать число и выполнить расчёт.

Создай total до цикла и прибавляй каждое значение. Среднее — сумма, делённая на количество элементов. Деление имеет смысл только для непустого списка.

Python
values = [3, 5, 2, 6]total = 0for value in values:    total += valueprint("Сумма:", total)print("Среднее:", total / len(values))

2. Максимум без сортировки

Начальное значение максимума берём из первого элемента. Затем заменяем его, когда встречаем большее число. Сортировать весь список ради одного максимума не требуется.

Начинать с 0 опасно: для [-7, -2] программа ошибочно оставит 0, которого нет в данных. Инициализация первым элементом работает и для отрицательных чисел; пустой список обрабатываем отдельно.

Python
values = [-7, -2, -9]if values:    best = values[0]    for value in values:        if value > best:            best = value    print(best)else:    print("Нет данных")

3. Количество по условию

Счётчик увеличивается только для подходящих значений. Условие value > 0 исключает и отрицательные числа, и ноль. Если нужно «неотрицательные», условие будет другим: value >= 0.

Проверь набор без подходящих значений: результат должен быть 0. Пустой список также даёт 0, потому что тело цикла не выполняется.

Python
values = [0, 4, -2, 7]count = 0for value in values:    if value > 0:        count += 1print(count)

4. Встроенные функции и пустой список

sum, min и max делают знакомые вычисления готовыми средствами. Важно понимать договорённость для пустых данных: sum([]) возвращает 0, а min([]) и max([]) без default вызовут ошибку.

У среднего нет значения при нулевом количестве измерений. Вместо выдуманного результата лучше сообщить «Нет данных». Сначала проверь данные, потом выполняй деление.

Python
values = [3, 5, 2, 6]if values:    print("Минимум:", min(values))    print("Максимум:", max(values))    print("Среднее:", sum(values) / len(values))else:    print("Нет данных")

Где легко ошибиться

  • Начать максимум с 0 для произвольных чисел.
  • Делить на len(values), не проверив пустой список.
  • Путать количество подходящих значений с их суммой.
Проверь понимание: Почему best = 0 не подходит для поиска максимума в [-5, -3]?

Алгоритм оставит 0, хотя правильный максимум -3. Нужно начать с первого элемента.

Сумма и среднее очков

Запусти пример. Затем измени код или входные данные и проверь, как меняется вывод.

Пример входных данных

Ввод не нужен

Ожидаемый вывод

Всего: 60
Среднее: 20.0
main.pyPython · можно менять код

Подготавливаем редактор…

Загрузка Python…

Каждый ответ — с новой строки.

Твой вывод

Здесь появится результат запуска.

Дальше — самостоятельные задачи

  1. Найти максимум без сортировки
  2. Посчитать только положительные значения
  3. Разобрать пустой список и договориться о результате