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

В массиве вычислить сумму четных положительных элементов

20.02.2019, 19:58. Показов 21293. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
3. В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2019, 19:58
Ответы с готовыми решениями:

Вычислить сумму положительных четных элементов массива
- Вычислить сумму положительных четных элементов массива.

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

В массиве А вычислить наименьший элемент, сумму положительных элементов...
В двумерном массиве А, состоящем из n*n целых чисел, вычислить: наименьший элемент; сумму положительных элементов; количество простых...

11
8 / 5 / 3
Регистрация: 06.02.2019
Сообщений: 29
20.02.2019, 20:40
darkweb,
Python
1
2
3
4
5
6
a = [int(i) for i in input().split()] #заполнение списка
s = 0 #переменная, в которую будет накапливаться сумма
for i in range(len(a)): #перебор элементов списка в цикле
    if a[i] % 2 == 0 and a[i] > 0: #проверка элемента списка на соответствие условиям
        s += a[i] #если соответствует, добавляем в переменную суммы
print(s) #выводим результат
2
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
20.02.2019, 20:48
Python
1
2
3
4
5
6
def masgen():
    mlist=[i for i in range(-10,10) if i >0 and (i %2==0) ]
    print(mlist)
    return mlist
if __name__ == '__main__':
    masgen()
1
 Аватар для Hawaiian pilot
3 / 3 / 0
Регистрация: 18.05.2021
Сообщений: 93
29.09.2021, 22:34
Цитата Сообщение от Dax Посмотреть сообщение
def masgen():
    mlist=[i for i in range(-10,10) if i >0 and (i %2==0) ]
    print(mlist)
    return mlist
if __name__ == '__main__':
    masgen()
вернусь к задаче,
так все таки, если неизвестно сколько чисел будет в листе, как написать функцию? И еще ее сумму?
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
29.09.2021, 22:48
Hawaiian pilot,
Python
1
2
a = [int(i) for i in input().split()] #заполнение списка
print(sum(x for x in a if not (x % 2) and (x >= 0)))
1
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
29.09.2021, 22:50
Hawaiian pilot, нате, задавайте вопросы.

Python
1
2
3
4
5
6
7
8
9
def func(x: list) -> int:
    return 0 if not x else x[-1] + func(x[:-1]) if x[-1] > 0 and not x[-1] % 2 else 0 + func(x[:-1])
 
 
x = [-9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 
print(func(x))
print(sum((i for i in x if i > 0 and not i % 2)))
print(sum(filter(lambda x: x > 0 and not x % 2, x)))
0
 Аватар для Hawaiian pilot
3 / 3 / 0
Регистрация: 18.05.2021
Сообщений: 93
29.09.2021, 23:08
enx, Спасибо безусловно, но ни бельмеса не поняла

Задача дословно: Напишите функцию, которая возвращает сумму всех четных элементов списка.

я вот в такой стадии пока развития:
Python
1
2
3
4
values = input()
def my_list():
    print(sum(i for i in values if not i % 2))
    return (sum())
насколько мой мозжечок позволяет мыслить, полагаю, без ввода списка - не обойтись.
но при проверке моя версия только выводит input ...
подскажите, пожалуйста, что не так)
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
29.09.2021, 23:12
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
def cnt_even(n: int) -> tuple:
    """
    :param n: количество элементов последовательности
    :return: количество четных элементов последовательности и нечетных соотвественно
    >>> cnt_even(12)
    [2, 4, 6, 8, 10]
    [1, 3, 5, 7, 9, 11]
    (6, ' ', 5)
    >>> cnt_even(13)
    [2, 4, 6, 8, 10, 12]
    [1, 3, 5, 7, 9, 11]
    (6, ' ', 6)
    >>> cnt_even(14)
    [2, 4, 6, 8, 10, 12]
    [1, 3, 5, 7, 9, 11, 13]
    (7, ' ', 6)
 
    """
 
    if isinstance(n, int):
        ints_even = [i for i in range(1, n) if not i % 2]
        print(ints_even)
        ints_odd = [i for i in range(1, n) if i % 2]
        print(ints_odd)
        return len(ints_odd), ' ', len(ints_even)
    else:
        raise TypeError('введите число')
Тест
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
from unittest import TestCase, main
from tested.count_even_package import count_even
from tested.count_even_package.count_even import cnt_even
import doctest
 
 
def load_tests(loader, tests, ignore):
    tests.addTests(doctest.DocTestSuite(count_even))
    return tests
 
 
class CountEvenTest(TestCase):
    def test_int_in_input(self):
        self.assertEqual(cnt_even(n=12), (6, ' ', 5))
 
    def test_char_in_input(self):
        with self.assertRaises(TypeError) as e:
            cnt_even(n='12')
        self.assertEqual('введите число', e.exception.args[0])
 
    def test_float_in_input(self):
        with self.assertRaises(TypeError) as e:
            cnt_even(n=12.0)
        self.assertEqual('введите число', e.exception.args[0])
 
 
if __name__ == '__main__':
    main()
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
29.09.2021, 23:17
Hawaiian pilot, Если выше выложен весь ваш код, то во первых там нет вызова вашей функции.
Во вторых values у вас пока просто строка.

Добавлено через 2 минуты
Отложите пока ввод ее. Задайте просто "ручками" в коде. По типу
Python
1
a = [1, 2, 3, -5, -4, -2, 4]
Что-то простое, чтобы можно было легко проверить ответ.
В данном случае четные положительные в этом списке это 2 и 4, соответственно сумма должна быть равна 6.

Добавлено через 2 минуты
Но если уж очень хочется что-то вводить руками, то вот строка кода
Python
1
a = [int(i) for i in input().split()] #заполнение списка
Просто используйте ее.
Числа надо вводить в одну строку через пробел. Ввод заканчивается кнопкой "Enter".
0
 Аватар для Hawaiian pilot
3 / 3 / 0
Регистрация: 18.05.2021
Сообщений: 93
29.09.2021, 23:21
Цитата Сообщение от anton78spb Посмотреть сообщение
Hawaiian pilot, Если выше выложен весь ваш код, то во первых там нет вызова вашей функции.
Во вторых values у вас пока просто строка.
я опираюсь на поставленную задачку. она ни к чему не привязана и условна. а-ля, как базовая формула. но хочу проверить правильность написания функции конечно. и это безуспешно.

Добавлено через 1 минуту
Цитата Сообщение от anton78spb Посмотреть сообщение
Числа надо вводить в одну строку через пробел. Ввод заканчивается кнопкой "Enter".
это я умею)))

Добавлено через 1 минуту
мне именно с def нужно.
примеры выше с присвоением к переменной усвоила
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
29.09.2021, 23:25
Цитата Сообщение от Hawaiian pilot Посмотреть сообщение
я опираюсь на поставленную задачку. она ни к чему не привязана и условна. а-ля, как базовая формула.
Если нужна только сама функция, то вот код
Python
1
2
def get_summ_even_positive(nums: list) -> int:
    return sum(i for i in nums if not i % 2 and i >= 0)
Но как вы сами же и заметили
Цитата Сообщение от Hawaiian pilot Посмотреть сообщение
но хочу проверить правильность написания функции конечно.
Надо как-то это проверить. И по этому надо либо задать тестовый список в коде функции, либо вводить его вручную. А затем вывести результат работы этой функции и проверить его на корректность.
1
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
29.09.2021, 23:28
Hawaiian pilot, судя по тому, что ведете вы себя вполне адекватно, что-то пробуете, задаете вопросы - вы можете и точно научитесь.

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

Добавлено через 1 минуту
Не объяснив зачем это, как работает, что дает и тд...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.09.2021, 23:28
Помогаю со студенческими работами здесь

В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов
В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов на с#

В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов
ЗАДАНИЕ: В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов using System; ...

Вычислить сумму всех положительных чётных чисел в массиве
program m1; const n=6; var a,b:array of integer; i:integer; S:real; begin S:=0; for i:=1 to n do begin write('a=');

Вычислить сумму всех положительных чётных чисел в массиве
Написать программу, которая вычисляет сумму всех чётных и положительных чисел в массиве. Вот мой вариант на паскале program m1; ...

В двумерном массиве a(4,5) найти количество четных элементов и сумму положительных элементов
В двумерном массиве a(4,5) найти количество четных элементов и сумму положительных элементов. Массив заполнить с помощью случайных целых...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru