Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Математические модули
Модуль статистики

Цель

Спуститесь в офис и зафиксируйте статистические данные по ключевым показателям фермы, используя модуль statistics.

Со второго этажа чердака есть офис, в котором хранятся файлы с важной информацией о ферме. Было бы неплохо обработать эти данные и задокументировать их для прогнозирования будущего роста фермы. Для этого мы реализуем использование модуля statistics. Модули позволяют нам импортировать такие инструменты, как функции, классы и тому подобное, расширяя функциональность Python. Чтобы подключить модуль, необходимо написать import перед названием модуля, именно так, вы уже использовали модуль для управления игроком все это время!

import statistics

Модуль добавляет несколько функций для вычисления статистики, вот некоторые из них, которые мы будем использовать для обработки статистических данных в офисе:

  • statistics.mean() : Вычисляет среднее значение набора данных
  • statistics.median(): Вычисляет медиану набора данных
  • statistics.median_low(): Вычисляет наименьшую медиану набора данных
  • statistics.median_high(): Вычисляет наибольшую медиану набора данных
  • statistics.mode(): Вычисляет центральную тенденцию набора данных, другими словами, значение, которое встречается чаще всего в выборке.
  • statistics.variance(): Вычисляет дисперсию значений в наборе данных. Высокое значение означает, что данные разбросаны, низкое — что значения близко друг к другу.

Начните с того, что направляйтесь к светлой метке X перед картотечными шкафами, используйте функцию read() для проверки файлов и чтения данных. В поле необходимо прочитать три (3) отчёта, создайте три (3) списка для хранения данных для каждого: weather_report, export_report и harvest_report. Данные в каждом отчёте содержат шесть (6) значений, представляющих данные за первые шесть (6) месяцев года. Обратите внимание и сохраните шесть (6) значений в каждом списке при их чтении.

После того, как вы зафиксируете и сохраните данные в списках, направляйтесь к темной метке X на синем ковре. Создайте пять переменных с именами: mean, median, low, high и variance. Эти переменные будут содержать значения статистических функций, которые мы описали ранее. То, что мы собираемся сделать, это добавить список того отчёта, для которого хотим получить статистику, что сгенерирует статистические данные для предоставленного набора данных.

mean = statistics.mean( report list ) median = statistics.median( report list ) low = statistics.median_low( report list ) high = statistics.median_high( report list ) variance = statistics.variance( report list )

Используя эти статистические данные, мы воспользуемся функцией write(), чтобы записать данные в меморандумы, последовательности в редакторе кода будут заранее записаны. На синей метке X опишите переменные для export_report и запишите их. На зелёной метке X опишите переменные для harvest_report и запишите их. На красной метке X опишите переменные для weather_report и запишите их. Вы должны сначала заполнить переменные для каждого отчёта, прежде чем записывать их, чтобы корректные статистические данные были записаны для каждого.

После того, как все статистические данные будут зафиксированы, направляйтесь к золотой метке X и создайте новый список с именем group_report. В этот список вы добавите export_report и harvest_report в указанном порядке. Это создаст вложенный список, который нельзя использовать с функциями статистики, поэтому для решения этой проблемы используйте генератор списка, чтобы "развернуть" вложенный список, следующим образом: group_report= [item for sublist in group_report for item in sublist]

Настройте ещё две переменные: variance и mode с их соответствующими статистическими функциями. Добавьте список group_report в функцию статистики variance, а список weather_report в функцию статистики mode, следующим образом: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Затем выполните функцию write(), настроенную в редакторе кода для этих переменных, чтобы завершить уровень.

Книга Кода