
Задачи на списки в Python: 1. Опишите алгоритм подсчета произведения всех отрицательных элементов
заданного целочисленного массива размером 30 элементов 2. Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в заданном целочисленном массиве длиной 30. 3. Опишите алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет сообщите об этом выводом «NO» на экран

Ответы на вопрос

Вот код:
import random
# Сгенерируем список
lst = [random.randint(-30, 30) for _ in range(30)]
# 1
result = 1
for item in lst:
if item < 0:
result *= item
print(result)
# или
from functools import reduce
print(reduce(lambda x, y: x * y,
filter(lambda item: item < 0, lst)))
# 2
max_count = 0
count = 0
for item in lst:
if item < 0:
count += 1
if count > max_count:
max_count = count
print(max_count)
# 3
result = 0
for item in lst:
if item < 0:
result += item
print(result)
# или
negative_nums = list(filter(lambda item: item < 0, lst))
print(sum(negative_nums) if negative_nums else "NO")



Давайте рассмотрим каждую из этих задач по очереди и опишем алгоритмы для их решения на языке Python.
- Опишите алгоритм подсчета произведения всех отрицательных элементов заданного целочисленного массива размером 30 элементов:
pythondef product_of_negatives(arr):
product = 1
for num in arr:
if num < 0:
product *= num
return product
# Пример использования:
array = [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]
result = product_of_negatives(array)
print("Произведение отрицательных элементов:", result)
- Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в заданном целочисленном массиве длиной 30:
pythondef max_consecutive_negatives(arr):
max_count = 0
current_count = 0
for num in arr:
if num < 0:
current_count += 1
if current_count > max_count:
max_count = current_count
else:
current_count = 0
return max_count
# Пример использования:
array = [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]
result = max_consecutive_negatives(array)
print("Максимальное количество подряд идущих отрицательных элементов:", result)
- Опишите алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов:
pythondef sum_of_negatives(arr):
total = 0
has_negatives = False
for num in arr:
if num < 0:
total += num
has_negatives = True
if has_negatives:
return total
else:
return "NO"
# Пример использования:
array = [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]
result = sum_of_negatives(array)
print("Сумма отрицательных элементов:", result)
Эти алгоритмы позволят вам решить задачи на списки в Python, связанные с отрицательными элементами массива.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili