Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/57: Рейтинг темы: голосов - 57, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 8

Статистики списка

26.02.2020, 13:37. Показов 11148. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите функцию print_statistics(arr), которая принимает список целых чисел и печатает несколько так называемых статистик этого списка: число элементов, среднее значение, минимальный и максимальный элемент в списке, медиану списка.

Медианой называется число, больше которого ровно половина списка. В отсортированном списке из нечетного числа элементов он находится ровно посередине. Если элементов в списке четное число, то медианой является любое из значений, лежащих между двумя центральными элементами. Обычно в таких случаях выбирают среднее значение от двух центральных элементов. Мы просим вывести его.

Для пустого списка вместо всех статистик выведите нули.

При вычислении среднего значения, воспользуйтесь функцией, написанной вами ранее специально для этой цели. Одну собственную функцию можно вызывать из другой. Также рекомендуем написать отдельную функцию для вычисления медианы.

Например, вызов print_statistics([3,5,8,4]) должен последовательно распечатать на экране все статистики:

4
5.0
3
8
4.5

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

Пример 1
Ввод Вывод
print_statistics([])
0
0
0
0
0
Пример 2
Ввод Вывод
print_statistics([22])
1
22.0
22.0
22.0
22.0
Примечания
Функция ничего не читает из стандартного ввода. Список чисел она принимает в качестве параметра, который ему передает проверяющая программа.

Напоминаем: чтобы получить отсортированный список, вы можете воспользоваться методом sort().
Помогите найти ошибку
Вот мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def print_statistics(arr):
    number = len(arr)
    if number != 0:
        number1 = 0
        count = 0
        for i in arr:
            count += 1
        srednee = sum(arr) / number
        minl = min(arr)
        maxl = max(arr)
        arr = sorted(arr)
        if number % 2 == 0:
            number1 = (number - 2) // 2
            mediana = (int(arr[number1]) + int(arr[number1 + 1])) / 2
        else:
            number1 = (number - (number % 2)) // 2
            mediana = arr[number1]
            print(number, srednee, minl, maxl, mediana, sep="\n")
    elif number == 1:
        number = 1
        srednee = float(arr[0])
        minl = min(arr)
        maxl = max(arr)
        mediana = arr[0]
        print(number, srednee, minl, maxl, mediana, sep="\n")
    else:
        number = 0
        srednee = 0
        minl = 0
        maxl = 0
        mediana = 0
        print(number, srednee, minl, maxl, mediana, sep="\n")
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2020, 13:37
Ответы с готовыми решениями:

Статистики списка чисел
Напишите функцию print_statistics(arr), которая принимает список целых чисел и печатает несколько так называемых статистик этого списка:...

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

Разделение файла по 8 байт и записью в txt с выводом статистики
Доброго времени, прошу помощи с реализацией данной задачи. Нужно взять файл (exe, mp3, bmp, и любой другой формат) после считать байты,...

7
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
27.02.2020, 09:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def print_statistics(arr):
    mediana = None
    number = None
    if not len(arr):
        print('Список пустой или не предоставлен')
    else:
        number = len(arr)
        number1 = (number - 1) // 2
        if number % 2 == 0:
            mediana = (arr[number1] + arr[number1 + 1]) / 2
        else:
            mediana = arr[number1]
 
        print(f'Длина списка - {number}, Среднее - {sum(arr) / number}, '
              f'Минимальное значение - {min(arr)}, Максимальное значение - {max(arr)}, '
              f'Медиана списка - {mediana}')
 
 
print_statistics([3, 4, 5, 8])
print_statistics([3, 4, 5, 8, 9])
print_statistics([22])
print_statistics([])
Вывод:
Длина списка - 4, Среднее - 5.0, Минимальное значение - 3, Максимальное значение - 8, Медиана списка - 4.5
Длина списка - 5, Среднее - 5.8, Минимальное значение - 3, Максимальное значение - 9, Медиана списка - 5
Длина списка - 1, Среднее - 22.0, Минимальное значение - 22, Максимальное значение - 22, Медиана списка - 22
Список пустой или не предоставлен
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
27.02.2020, 09:45
Lekks, вы забыли отсортировать список, прежде чем считать медиану.
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
27.02.2020, 09:48
Лучший ответ Сообщение было отмечено Алина_ли как решение

Решение

Цитата Сообщение от u235 Посмотреть сообщение
Lekks, вы забыли отсортировать список, прежде чем считать медиану.
точно)) с IDLE в PyCharm тянул кусками, потерял))) Sorry

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def print_statistics(arr):
    mediana = None
    number = None
    if not len(arr):
        print('Список пустой или не предоставлен')
    else:
        arr = sorted(arr)
        number = len(arr)
        number1 = (number - 1) // 2
        if number % 2 == 0:
            mediana = (arr[number1] + arr[number1 + 1]) / 2
        else:
            mediana = arr[number1]
 
        print(f'Длина списка - {number}, Среднее - {sum(arr) / number}, '
              f'Минимальное значение - {min(arr)}, Максимальное значение - {max(arr)}, '
              f'Медиана списка - {mediana}')
 
 
print_statistics([5, 3, 4, 8])
print_statistics([5, 4, 3, 8, 9])
print_statistics([22])
print_statistics([])
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
27.02.2020, 09:51
Ну и если список уже отсортирован, то вызывать ф-ции min max не нужно. Это просто 0ой и -1-ый элемент списка.
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
27.02.2020, 09:53
Цитата Сообщение от u235 Посмотреть сообщение
Ну и если список уже отсортирован, то вызывать ф-ции min max не нужно. Это просто 0ой и -1-ый элемент списка.
Да, можно просто arr[0] arr[-1]

будет быстрее )))
0
0 / 0 / 0
Регистрация: 18.04.2024
Сообщений: 2
18.04.2024, 18:04
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import statistics
 
 
def print_statistics(arr):
    if len(arr) <= 0:
        b = 0
        print("0")
        print("0")
        print("0")
        print("0")
        print("0")
    else:
        b = sum(arr) / len(arr)
        print(len(arr))
        print(b)
        print(float(min(arr)))
        print(float(max(arr)))
        print(statistics.median(arr))
0
3 / 3 / 0
Регистрация: 17.04.2024
Сообщений: 5
30.04.2024, 11:21
у меня такой прошел:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import statistics
 
 
def print_statistics(arr):
    if len(arr) <= 0:
        b = 0
        print("0")
        print("0")
        print("0")
        print("0")
        print("0")
    else:
        b = sum(arr) / len(arr)
        print(len(arr))
        print(b)
        print(float(min(arr)))
        print(float(max(arr)))
        print(statistics.median(arr))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2024, 11:21
Помогаю со студенческими работами здесь

У Алевтины возникла новая идея для занимательной статистики
У Алевтины возникла новая идея для занимательной статистики. Поэтому она просит Вас написать функцию fun_ints_stat(n_first, n_last, *args),...

Построение статистики миграции населения из-за границы во временном и территориальном разрезе
Построение статистики миграции населения из-за границы во временном и территориальном разрезе Помогите решить данную задачу. Очень...

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

Функция отображения статистики
Здравствуйте, недавно приобрел скрипт тг бота анонимного чата. Появилась проблема. В боте есть функция отображения статистики, но она...

matplotlib перевернутый график статистики
Здравствуте. Как используя matplotlib вывести линейный график в перевернутом виде, т.е. чем больше значение в данных - тем ниже точка по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru