Предмет: Информатика,
автор: tema3093139
Задачи на списки в Python:
1. Опишите алгоритм подсчета произведения всех отрицательных элементов заданного целочисленного массива размером 30 элементов
2. Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в заданном целочисленном массиве длиной 30.
3. Опишите алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет сообщите об этом выводом «NO» на экран
demianwolfssd:
В каждом задании упоминают "массивы". Для Python это неправильно, так как хотя в этом языке программирования и есть массивы (arrays), их КРАЙНЕ редко используют. Вместо них есть списки (lists), кортежи (tuples), множества (sets) и другие типы данных. Впрочем, если интересно, можешь почитать https://pythonworld.ru/moduli/modul-array-massivy-v-python.html и https://stackoverflow.com/questions/176011/python-list-vs-array-when-to-use
Ответы
Автор ответа:
1
Вот код:
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")
Похожие вопросы
Предмет: Химия,
автор: Snake96
Предмет: Алгебра,
автор: sachka3004
Предмет: География,
автор: моржон
Предмет: Алгебра,
автор: rsasharogachevp0h7b4
Предмет: Математика,
автор: dremer431