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

Найти среднее значение всех элементов, делящихся на 7

05.02.2018, 14:45. Показов 6470. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from random import random
 
N = 20 # кол-во элементов последовательности
a = []
 
for i in range(N): # рандомизируем N
    N = int(random()*100) - 50
    a.append(N)
print(a)
 
s = p = 0
 
for i in range(N): # вычисляем среднее значение
    if (a[i] % 7 == 0):
        s = s + a[i]
        p = p + 1
print(s/p)
IndexError: list index out of range

Что я делаю не так? ©
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2018, 14:45
Ответы с готовыми решениями:

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

В целочисленном массиве Найти среднее арифметическое всех элементов, делящихся нацело на 3
Написал программу, но при выводе на экран выдаёт что-то странное, не могу понять в чем проблема. Скопируйте пожалуйста код и помогите...

Найти мин, макс, сумму всех элементов, среднее значение всех элементов, кол-во четных и нечетных элементов
Создайте массив из 10 случайных чисел от 0 до 20, найдите: мин, макс, сумму всех элементов, среднее значение всех элементов, кол-во четных...

11
1 / 1 / 0
Регистрация: 24.04.2015
Сообщений: 47
05.02.2018, 15:00  [ТС]
То работает, то не работает
Миниатюры
Найти среднее значение всех элементов, делящихся на 7   Найти среднее значение всех элементов, делящихся на 7  
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
05.02.2018, 15:08
Python
1
2
3
4
5
6
>>> l = [i for i in range(100) if not i%7]
>>> l
[0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]
>>> sum(l)/len(l)
49.0
>>>
1
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
05.02.2018, 15:11
Ну хотя бы, если в списке не будет элементов кратных 7, то р будет равно 0 и s/p даст ошибку
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.02.2018, 15:13
У Вас идея какая-то есть по поводу такого использования переменной N?
0
1 / 1 / 0
Регистрация: 24.04.2015
Сообщений: 47
05.02.2018, 15:14  [ТС]
Цитата Сообщение от Zedta Посмотреть сообщение
Ну хотя бы, если в списке не будет элементов кратных 7, то р будет равно 0 и s/p даст ошибку
На втором скрине второй снизу прогон - там видно 70, а оно кратно 7, но всё равно дало ошибку...
Цитата Сообщение от vic5710 Посмотреть сообщение
>>> sum(l)/len(l)
Для чего это? Упростить данную часть кода никак нельзя?
Цитата Сообщение от Jabbson Посмотреть сообщение
У Вас идея какая-то есть по поводу такого использования переменной N?
Нет, я просто пытаюсь найти простое и рабочее решение
0
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
05.02.2018, 15:19
А текст ошибки прочитать, ошибки две деление на 0 и неправильный индекс

Добавлено через 1 минуту
Вторая ошибка, изменяется значение N
0
1 / 1 / 0
Регистрация: 24.04.2015
Сообщений: 47
05.02.2018, 15:23  [ТС]
Цитата Сообщение от Zedta Посмотреть сообщение
ошибки две деление на 0 и неправильный индекс
Добавлено через 1 минуту
Вторая ошибка, изменяется значение N
А как должно быть?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.02.2018, 15:28
Цитата Сообщение от Golden_Fox Посмотреть сообщение
А как должно быть?
не делить на ноль и не изменять N
1
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
05.02.2018, 15:28
Лучший ответ Сообщение было отмечено Golden_Fox как решение

Решение

Python
1
2
3
4
for i in range(N): # рандомизируем N
    n = int(random()*100) - 50
    a.append(n)
print(a)
Так хотя бы, но лучше вариант vic5710 использовать
1
Модератор
Эксперт функциональных языков программирования
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,882
05.02.2018, 15:50
Цитата Сообщение от Golden_Fox Посмотреть сообщение
Что я делаю не так? ©
Используете одну и ту же переменную N и для длины списка и для случайных чисел. В результате, когда Вам требуется длина списка, Вы используете случайное число, которое записали позже в эту переменную. Если это число больше длины списка, то получаете исключение при попытке обратиться к несуществующему элементу массива. Если это число меньше длины списка, то исключения нет, но результат всё равно (потенциально) неправильный, так как Вы обрабатываете только часть списка.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.02.2018, 16:03
И вот это вот "int(random()*100) - 50", есть специальная функция для этого

Python
1
2
3
4
5
6
7
8
from random import randint
 
N = 20
lst = [randint(-50, 50) for _ in range(N)]
mod7 = [x for x in lst if not x % 7]
print(lst)  # all elements
print(mod7)  # mod7 elements
print(sum(mod7)/len(mod7) if mod7 else "")  # avg
Code
1
2
3
[-31, -45, 42, 19, 46, 14, -48, 21, -25, 19, -24, -10, -45, -1, -35, -37, 25, 5, 41, 43]
[42, 14, 21, -35]
10.5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2018, 16:03
Помогаю со студенческими работами здесь

Среднее число всех элементов массива, делящихся на 5
Ребята, пожалуйста помогите, мне уже на завтра надо программу, а я в этом не бум-бум. 1) Среднее число всех элементов делящихся на 5 2)...

Найти среднее значение отрицательных элементов и вычесть это значение из всех элементов последней строки
1)Найти среднее значение отрицательных элементов и вычесть это значение из всех элементов последней строки Вывести полученный массив на...

Найти среднее значение всех элементов
Дана последовательность из 20 элементов. Найти среднее значение всех элементов при делении на 8 дающих в остатке 5 #include...

В одномерном массиве определить среднее значение всех элементов,значение которых превышает среднее значение
в произвольно заданном одномерном массиве определить среднее значение всех элементов,значение которых превышает среднее значение

Найти количество элементов значение которых превышает среднее арифметическое всех элементов
дан целочисленный массив из n элементов. Найти количество элементов значение которых превышает среднее арифметическое всех элементов ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru