1. Главная
  2. Библиотека
  3. Статистика
  4. Статистическое бюро ежегодно вычисляет наиболее распрос...
Разбор задачи

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

  • Предмет: Статистика
  • Автор: Кэмп
  • #Прикладная статистика в экономике
  • #Методы выборочного наблюдения
Статистическое бюро ежегодно вычисляет наиболее распространённый рост жителей, вычисляя диапазон, к которому относится рост большинства людей. Исследователи собирают данные о росте людей в случайной выборке, сортируют данные по возрастанию, а затем

Условие:

Статистическое бюро ежегодно вычисляет наиболее распространённый рост жителей, вычисляя диапазон, к которому относится рост большинства людей.
Исследователи собирают данные о росте людей в случайной выборке, сортируют данные по возрастанию, а затем отбрасывают из этой выборки 10% самых невысоких и 10% самых высоких людей.
Оставшаяся часть выборки и есть тот самый целевой диапазон, который принимается за «стандартный рост».
Исходя из данных о «стандартном росте» строители проектируют высоту дверей в квартирах, в авиалайнерах расставляют кресла, а на швейных фабриках планируют размерность производимой одежды.
Напишите функцию get_selection(collection), которая
принимает на вход список чисел. Заранее предполагается, что список отсортирован по возрастанию; список может быть любой длины;
функция должна вернуть список, который содержит все элементы исходного списка, за исключением первых 10% элементов и последних 10% элементов.
При вычислении 10% приведите результат к целому числу.

Решение:

Нам нужно написать функцию get_selection(collection), которая принимает на вход отсортированный список чисел и возвращает новый список, из которого исключены первые 10% и последние 10% элементов. Для этого необходимо вычислить количество элементов, которое составляет 10% от общей длины списка, привести результат к целому числу, а затем вернуть срез списка без этих крайних значений.

Шаг 1. Вычисляем длину списка, обозначим её переменной n.

Шаг 2. Вычисляем 10% от n. Это можно сделать умножением n на 0.1. Так как нас просят привести результат к целому числу, используем функцию int для преобразования. Переменная k = int(n * 0.1).

Шаг 3. Используем срез списка. Чтобы исключить первые k элементов и последние k элементов, можно взять срез list[k:n-k]. Например, если исходный список имеет 10 элементов, k будет равно 1, а срез list[1:9] вернёт элементы с индексами от 1 до 8 (то есть список без первого и последнего элементов).

Шаг 4. Возвращаем полученный список.

Ниже приведён итоговый код функции на языке Python:
\ndef get_...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какую операцию необходимо выполнить для корректного определения количества элементов, подлежащих отсечению с каждого края списка, согласно условиям задачи?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет